Home  >  Article  >  Operation and Maintenance  >  How to check ports in Linux

How to check ports in Linux

藏色散人
藏色散人Original
2019-06-06 10:09:4311370browse

How to check ports in Linux

How to check the port in Linux

1, lsof -i: The port number is used Check the usage of a certain port, for example, check the usage of port 8000, lsof -i:8000

# lsof -i:8000
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
lwfs    22065 root    6u  IPv4 4395053      0t0  TCP *:irdmi (LISTEN)

You can see that port 8000 has been occupied by the lightweight file system forwarding service lwfs

2, netstat -tunlp |grep Port number, used to check the process status of the specified port number, such as checking the status of port 8000, netstat -tunlp |grep 8000

# netstat -tunlp 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      4814/rpcbind        
tcp        0      0 0.0.0.0:5908                0.0.0.0:*                   LISTEN      25492/qemu-kvm      
tcp        0      0 0.0.0.0:6996                0.0.0.0:*                   LISTEN      22065/lwfs          
tcp        0      0 192.168.122.1:53            0.0.0.0:*                   LISTEN      38296/dnsmasq       
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      5278/sshd           
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      5013/cupsd          
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      5962/master         
tcp        0      0 0.0.0.0:8666                0.0.0.0:*                   LISTEN      44868/lwfs          
tcp        0      0 0.0.0.0:8000                0.0.0.0:*                   LISTEN      22065/lwfs
# netstat -tunlp | grep 8000
tcp        0      0 0.0.0.0:8000                0.0.0.0:*                   LISTEN      22065/lwfs

Explain the meaning of several parameters:

 -t (tcp) 仅显示tcp相关选项
                                 -u (udp)仅显示udp相关选项
                                 -n 拒绝显示别名,能显示数字的全部转化为数字
                                 -l 仅列出在Listen(监听)的服务状态
                                 -p 显示建立相关链接的程序名

Attach a python port occupancy monitoring program, which can monitor whether the port of the specified IP is occupied.

#!/usr/bin/env python
  # -*- coding:utf-8 -*-
  
  import socket, time, thread
  socket.setdefaulttimeout(3) #设置默认超时时间
  
  def socket_port(ip, port):
  """
  输入IP和端口号,扫描判断端口是否占用
 """
 try:
 if port >=65535:
 print u'端口扫描结束'
 s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 result=s.connect_ex((ip, port))
 if result==0:
 lock.acquire()
 print ip,u':',port,u'端口已占用'
 lock.release()
 except:
 print u'端口扫描异常'
 
 def ip_scan(ip):
      """
      输入IP,扫描IP的0-65534端口情况
      """
      try:
          print u'开始扫描 %s' % ip
          start_time=time.time()
          for i in range(0,65534):
              thread.start_new_thread(socket_port,(ip, int(i)))
          print u'扫描端口完成,总共用时:%.2f' %(time.time()-start_time)
  #       raw_input("Press Enter to Exit")
      except:
          print u'扫描ip出错'
  
  if __name__=='__main__':
      url=raw_input('Input the ip you want to scan: ')
      lock=thread.allocate_lock()
      ip_scan(url)

The execution results of this program are as follows:

# python scan_port.py
Input the ip you want to scan: 20.0.208.112
开始扫描 20.0.208.112
20.0.208.112 : 111 端口已占用
20.0.208.112 : 22 端口已占用
20.0.208.112 : 8000 端口已占用
20.0.208.112 : 15996 端口已占用
20.0.208.112 : 41734 端口已占用
扫描端口完成,总共用时:9.38

Recommended related Linux video tutorials: "Linux Tutorial"

The above is the detailed content of How to check ports in Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:linux change usernameNext article:linux change username