サーバーにログインした後、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」が何なのか知っている人はいませんか? これは何をするのですか? グーグルで検索したのですが、適切な情報は得られませんでした。
答え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
、推測すると、古いプロトコルか、または登録されている可能性があります。国際アナそして決して発展しなかった。
それで、どの O/S で 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 つのインターフェースと 上の0.0.0.0
プロセスによって使用されていることがわかります192.168.1.228
。2 番目の IP は、このシステムの Ethernet ポートに関連付けられた IP であり、この IP0.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