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

相關Linux視頻教程推薦:《Linux教程

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