ホームページ >運用・保守 >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 が軽量ファイル システムの転送によって占有されていることがわかります。 service 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
いくつかのパラメータの意味を説明します:
指定した IP のポートが占有されているかどうかを監視できる、Python ポート占有監視プログラムをアタッチします。
-t (tcp) 仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化为数字 -l 仅列出在Listen(监听)的服务状态 -p 显示建立相关链接的程序名このプログラムの実行結果は次のとおりです:
#!/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)
以上がLinuxでポート占有率を確認するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。