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
喜歡就支持一下吧
相關推薦