linux查看端口占用情況

linux查看端口占用情況

linux如何查看端口?

linux查看端口占用情況

相關推薦:《Linux教程

1、lsof -i:端口號 用于查看某一端口的占用情況,比如查看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)

可以看到8000端口已經被輕量級文件系統轉發服務lwfs占用

?

2、netstat -tunlp |grep 端口號,用于查看指定的端口號的進程情況,如查看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

??

?

說明一下幾個參數的含義:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?-t?(tcp)?僅顯示tcp相關選項 ?????????????????????????????????-u?(udp)僅顯示udp相關選項 ?????????????????????????????????-n?拒絕顯示別名,能顯示數字的全部轉化為數字 ?????????????????????????????????-l?僅列出在Listen(監聽)的服務狀態 ?????????????????????????????????-p?顯示建立相關鏈接的程序名

?

?

附加一個python端口占用監測的程序,該程序可以監測指定IP的端口是否被占用。

#!/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)

該程序執行結果如下:

#?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

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享