開いているネットワークポートの一覧を、内蔵のコマンドを使ってターミナルで表示したいと思います。私が知っている限りでは、netstat
が使用するコマンドです。しかし、有用な情報を得るのに苦労しています。
netstat`を使って開いているポートをリストアップするにはどうしたらいいですか?このような場合に役立つ特定のフラグはありますか?
netstat -ap tcp | grep -i "listen"
Achive Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 localhost.25035 *.* LISTEN
sudo lsof -PiTCP -sTCP:LISTEN
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
GitHub 850 grgarside 6u IPv4 0x23c345381d089301 0t0 TCP localhost:25035 (LISTEN)
lsofが使えるかもしれません。
lsof -Pn -i4
-i4 は ipv4 アドレスとポートのみを表示します。 -Pと-nは高速出力
以下のように出力されます。
➜ lsof -Pn -i4 | grep LISTEN
QQPlatfor 22767 xxxx 15u IPv4 0x36c2bfa04e49385d 0t0 TCP *:49969 (LISTEN)
GoAgentX 33377 xxxx 4u IPv4 0x36c2bfa06e68b12d 0t0 TCP *:56154 (LISTEN)
GoAgentX 33377 xxxx 20u IPv4 0x36c2bfa04e492f8d 0t0 TCP 127.0.0.1:56155 (LISTEN)
最も簡単な方法は、netstat
を使うことです。
$ netstat -ap tcp
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 10.0.2.23.58792 17.172.233.109.5223 ESTABLISHED
tcp4 87 0 my_iMac__at_home.55481 stackoverflow.co.http ESTABLISHED
tcp4 116 0 my_iMac__at_home.55478 stackoverflow.co.http ESTABLISHED
tcp4 58 0 my_iMac__at_home.63452 stackoverflow.co.http ESTABLISHED
tcp4 87 0 my_iMac__at_home.63429 stackoverflow.co.http ESTABLISHED
tcp4 0 0 localhost.63173 localhost.773 ESTABLISHED
tcp4 0 0 localhost.773 localhost.63173 ESTABLISHED
tcp4 0 0 localhost.63173 *.* LISTEN
tcp4 0 0 localhost.63172 *.* LISTEN
tcp4 0 0 localhost.ipp *.* LISTEN
tcp6 0 0 localhost.ipp *.* LISTEN
...フィルタリングを追加せずに、正しいヘッダを取得して
この例では、1行目が接続を示しています。
この例では、1行目が私のMacから17.172.233.109
への接続を示しています。
17.172.233.109`への接続を示しており、さらにそれが
whois 17.172.233.109
は、それがAppleにあることを教えてくれました。