Linuxクエリーポートが使用されているかどうかの4つの方法

2322 ワード

1つの面接問題では、8080がどのプロセスによって占有されているかを3つの異なる方法で確認します.一般的によく知られている方法はnetstatとlsofの2つですが、他にどんな方法がありますか.
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