linux如何查看端口占用情况?

linux如何查看端口占用情况?,第1张

  今天要使用python写一个端口探测的小程序,以检测一些特定的服务端口有没有被占用,突然发现自己居然不知道在linux中如何查询端口被占用的情况。

  Linux如何查看端口

  1、lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000

linux如何查看端口占用情况?,linux如何查看端口占用情况?,第2张

  可以看到8000端口已经被轻量级文件系统转发服务lwfs占用

  2、netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp |grep 8000

linux如何查看端口占用情况?,linux如何查看端口占用情况?,第3张

  说明一下几个参数的含义:

linux如何查看端口占用情况?,linux如何查看端口占用情况?,第4张

  附加一个python端口占用监测的程序,该程序可以监测指定IP的端口是否被占用。

  1 #!/usr/bin/env python

  2 # -*- coding:utf-8 -*-

  3

  4 import socket, TIme, thread

  5 socket.setdefaultTImeout(3) #设置默认超时时间

  6

  7 def socket_port(ip, port):

  8 “”“

  9 输入IP和端口号,扫描判断端口是否占用

  10 ”“”

  11 try:

  12 if port 》=65535:

  13 print u‘端口扫描结束’

  14 s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)

  15 result=s.connect_ex((ip, port))

  16 if result==0:

  17 lock.acquire()

  18 print ip,u‘:’,port,u‘端口已占用’

  19 lock.release()

  20 except:

  21 print u‘端口扫描异常’

  22

  23 def ip_scan(ip):

  24 “”“

  25 输入IP,扫描IP的0-65534端口情况

  26 ”“”

  27 try:

  28 print u‘开始扫描 %s’ % ip

  29 start_TIme=TIme.time()

  30 for i in range(0,65534):

  31 thread.start_new_thread(socket_port,(ip, int(i)))

  32 print u‘扫描端口完成,总共用时:%.2f’ %(time.time()-start_time)

  33 # raw_input(“Press Enter to Exit”)

  34 except:

  35 print u‘扫描ip出错’

  36

  37 if __name__==‘__main__’:

  38 url=raw_input(‘Input the ip you want to scan: ’)

  39 lock=thread.allocate_lock()

  40 ip_scan(url)

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2717437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存