
45136/tcpと37208/udpという2つのポートでリッスンするプロセスがあります(実際は同じプロセスだと思います)。しかし、netstatはPIDを返しません。
netstat -antlp | grep 45136
tcp 0 0 0.0.0.0:45136 0.0.0.0:* LISTEN -
「grep 37208」と同じ結果です。
私もlsofを試しました:
lsof -i TCP:45136
しかし、何も返しません。これはExtrusionを新しくインストールすることなので、プロセスがどうなるのかわかりません。どんなアイデアがありますか?
回答 ご意見ありがとうございます。それが何であるかを知っています。 nfs-server nfs-commonを削除しました(dkpg --get-selections | grep nfsで検索した後)、不明なプロセスが消えました。奇妙なことに、カーネルプロセスはいかなる方法でも表示されません。
二人ともよろしくお願いします。 ;)
答え1
ネットワーク統計
そこにはプロセスがありますが、ユーザーIDが何であるかは不明です。これはlsof
あなたがこれを見るのを防ぐ保護層です。コマンドを再実行しますが、そのsudo
コマンドをプレフィックスとして使用します。
$ sudo netstat -antlp | grep 45136
lsof
トップ出力にはこれに関する警告もあります。
(すべてのプロセスが認識されるわけではなく、所有していないプロセス情報は表示されません。すべてのプロセスを表示するにはroot権限が必要です。)
はい
$ netstat -antlp | grep 0:111
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN -
$ sudo netstat -antlp | grep 0:111
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1248/rpcbind
春夏シーズン
運が悪かったらそうかもしれnetstat
ませんss
。それでも使用する必要があり、sudo
出力がより秘密になる可能性があります。
はい
$ ss -apn|grep :111
LISTEN 0 128 :::111 :::*
LISTEN 0 128 *:111 *:*
$ sudo ss -apn|grep :111
LISTEN 0 128 :::111 :::* users:(("rpcbind",1248,11))
LISTEN 0 128 *:111 *:* users:(("rpcbind",1248,8))
プロセスIDはまだ表示されていませんか?
場合によっては、使用しているTCPポートに関連付けられているPIDはまったくありません。 NFS の内容は以下から読むことができます。@derobertの返信、これはその一つです。まだもっと手に入れました。場合によっては、SSHトンネリングをIMAPなどのサービスとして再利用します。また、プロセスIDは表示されません。
いずれにせよ、より詳細な形式を使用することができ、netstat
これは最終的にTCPポートを使用するプロセスをより明確にすることができます。
$ netstat --program --numeric-hosts --numeric-ports --extend
はい
$ netstat --program --numeric-hosts --numeric-ports --extend |grep -- '-' | head -10
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 192.168.1.103:936 192.168.1.3:60526 ESTABLISHED root 160024310 -
tcp 0 0 192.168.1.1:2049 192.168.1.3:841 ESTABLISHED sam 159941218 -
tcp 0 0 127.0.0.1:143 127.0.0.1:57443 ESTABLISHED dovecot 152567794 13093/imap-login
tcp 0 0 192.168.1.103:739 192.168.1.3:2049 ESTABLISHED root 160023970 -
tcp 0 0 192.168.1.103:34013 192.168.1.3:111 TIME_WAIT root 0 -
tcp 0 0 127.0.0.1:46110 127.0.0.1:783 TIME_WAIT root 0 -
tcp 0 0 192.168.1.102:54891 107.14.166.17:110 TIME_WAIT root 0 -
tcp 0 0 127.0.0.1:25 127.0.0.1:36565 TIME_WAIT root 0 -
tcp 0 0 192.168.1.1:2049 192.168.1.6:798 ESTABLISHED tammy 152555007 -
出力にINODESが含まれていることを確認したら、この情報を使用してプロセスに逆追跡できます。
$ find -inum 152555007
これにより、そのプロセスに案内できるファイルが表示されます。
引用する
答え2
別のオプションは、ソケットがプロセスに属さずにカーネルに属することです。一般的な例はNFSです。
Watt:~# netstat -ltp | egrep -- '-[[:space:]]*$'
tcp 0 0 *:nfs *:* LISTEN -
tcp 0 0 *:48131 *:* LISTEN -
tcp6 0 0 [::]:55607 [::]:* LISTEN -
tcp6 0 0 [::]:nfs [::]:* LISTEN -
一般的に、これらの項目を識別する良い方法はわかりません。 NFSの特別なケースでは、rpcinfo
次の情報を入手できます。
anthony@Watt:~$ rpcinfo -p | grep 48131
100021 1 tcp 48131 nlockmgr
100021 3 tcp 48131 nlockmgr
100021 4 tcp 48131 nlockmgr
残念ながら、これはIPv4でのみ機能します。 v6を取得するには放棄する必要があります-p
。これにより、ポート番号が愚かな方法で表示されます。つまり、IP アドレスの 2 つの追加オクテットで表されます。したがって、ポート55607は次のようになります。217.55(なぜなら217 × 256+ 55 =55607):
anthony@Watt:~$ rpcinfo | grep -i 217.55
100021 1 tcp6 ::.217.55 nlockmgr superuser
100021 3 tcp6 ::.217.55 nlockmgr superuser
100021 4 tcp6 ::.217.55 nlockmgr superuser