Linuxクエリーポートが使用されているかどうかの4つの方法
2322 ワード
1つの面接問題では、8080がどのプロセスによって占有されているかを3つの異なる方法で確認します.一般的によく知られている方法はnetstatとlsofの2つですが、他にどんな方法がありますか.
1.netstatまたはssコマンド
2.lsofコマンド
このコマンドは、プロセスが使用するファイルを表示します.
3.fuserコマンド
fuserコマンドはlsofとは正反対で、ファイルがどのプロセスによって占有されているかを表示します.Linuxでは、すべてのファイルがファイルされているので、通常のファイル、ソケットファイル、ファイルシステムを表示することができます.ソケットファイルにはポート番号が含まれています.たとえば22ポートを表示します.
4.nmapツール
nmapのデフォルトでは常にポートがスキャンされますが、ネイティブポートをスキャンするには便利です.
1.netstatまたはssコマンド
netstat -anlp | grep 80
2.lsofコマンド
このコマンドは、プロセスが使用するファイルを表示します.
lsof -i:80
3.fuserコマンド
fuserコマンドはlsofとは正反対で、ファイルがどのプロセスによって占有されているかを表示します.Linuxでは、すべてのファイルがファイルされているので、通常のファイル、ソケットファイル、ファイルシステムを表示することができます.ソケットファイルにはポート番号が含まれています.たとえば22ポートを表示します.
fuser 22/tcp -v
USER PID ACCESS COMMAND
22/tcp: root 1329 F.... sshd
root 1606 f.... sshd
4.nmapツール
nmapのデフォルトでは常にポートがスキャンされますが、ネイティブポートをスキャンするには便利です.
nmap localhost
Starting Nmap 5.51 ( http://nmap.org ) at 2018-03-03 18:00 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000020s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds