サーバーにログインしたら、netstatを使用してそのサーバーのポートを確認し、どのポートが私と通信しているかを知りたいです。
私のIPは143.248.143.198で、検索結果は次のとおりです。
[kwagjj@James5 ~]$ netstat | grep 143.248.143.198
tcp 0 52 James5:smakynet 143.248.143.198:49690 ESTABLISHED
[kwagjj@James5 ~]$ netstat | smakynet
smakynet: Command not found.
[kwagjj@James5 ~]$ netstat | grep smakynet
tcp 0 0 James5:smakynet 143.248.143.199:49573 ESTABLISHED
tcp 0 0 James5:smakynet 143.248.143.198:49690 ESTABLISHED
tcp 0 0 James5:smakynet 143.248.143.212:51070 ESTABLISHED
tcp 0 0 James5:smakynet 143.248.143.210:9693 ESTABLISHED
tcp 0 0 James5:smakynet 143.248.143.217:azeti ESTABLISHED
tcp 0 0 James5:smakynet 143.248.143.216:51892 ESTABLISHED
tcp 0 0 James5:smakynet 143.248.143.210:10599 ESTABLISHED
James5:smakynetが別のポートに接続されていることを確認しようとしましたが、私のポートは「James5:smakynet」とのみ通信しているようです。
この「smakynet」とは何かを知っている人はいますか?これは何をしますか? Googleで試してみましたが、正確な情報がありません。
答え1
grep
名前でポートを識別できないたびに、名前がそこに定義されていることを確認できます/etc/services
。私のLinuxシステムでは、smakynetはTCP / UDP 122です。
grep smakynet /etc/services
man netstat
より多くの情報を表示するためにどのスイッチを使用できるかを調べるために使用されます。この場合は、プロセスIDに関する詳細情報を見つけるのに役立つスイッチを使用してください。
netstat -tulpn | grep smakynet
これで、そのポートを使用しているプロセスを確認できます。以下の例のように出力されます。
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1565/cupsd
上記はcupsd
PID 1565で開かれ、TCPポート631を使用します。
これは、どのプログラムがポートを使用しているかを識別するのに役立ちます。 smakynetがなぜリストされているのかわかりません/etc/services
。しかし推測してみると古代プロトコルかもしれないし、インターネット割り当て番号機関そしてそれは決して進歩しませんでした。
それでは、どのオペレーティングシステムでsmakynetポートを使用してどのプログラムを見つけましたか?
答え2
netstat
通常、どのプロセスが特定のポートをリッスンしているか使用しているかを出力で確認できるように-n
実行して切り替える方が便利です。-p
netstat
はい
$ sudo netstat -anpt
Active Internet connections (servers and established)
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 1406/rpcbind
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 13203/nginx
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1628/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1506/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1712/master
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 13203/nginx
tcp 0 0 0.0.0.0:35171 0.0.0.0:* LISTEN 1424/rpc.statd
tcp 0 0 192.168.1.228:80 209.190.113.82:36019 ESTABLISHED 13307/nginx
tcp 0 0 192.168.1.228:80 192.168.1.1:58845 TIME_WAIT -
tcp 0 0 192.168.1.228:22 192.168.1.7:52418 ESTABLISHED 2382/sshd
tcp 0 0 192.168.1.228:443 209.190.113.82:46600 TIME_WAIT -
tcp 0 0 :::111 :::* LISTEN 1406/rpcbind
tcp 0 0 :::22 :::* LISTEN 1628/sshd
tcp 0 0 ::1:631 :::* LISTEN 1506/cupsd
tcp 0 0 ::1:25 :::* LISTEN 1712/master
tcp 0 0 :::37115 :::* LISTEN 1424/rpc.statd
nginx
ここでは、ポート80と443が2つのインターフェイスのプロセスによって使用されていることがわかります。20.0.0.0
番目192.168.1.228
のIPはこのシステムのイーサネットポートに関連付けられているIPです。このIPは0.0.0.0
特別で、サーバーデーモンがnginx
すべてのポートにバインドされることを意味します。このデバイスに存在するインターフェイスです。
ネットワークインターフェース
$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 54:52:00:ff:ff:f1 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.228/24 brd 192.168.1.255 scope global eth0
inet6 fe80::5652:ff:feff:fff1/64 scope link
valid_lft forever preferred_lft forever