私はLinux Ubuntuシステムでどのポートが使用されているかを確認したいと思います。この記事を読んでいます。LinuxまたはUnixでポートが使用されているかどうかを確認する方法これを確認するコマンドの1つは次のとおりです。
sudo lsof -i -P -n | grep LISTEN
私はまだ多くのLinuxコマンドに慣れていませんが、最近学んだ。lsof
開いているすべてのファイルを一覧表示するために使用されるので、このフラグの目的を知りたいです。
(-Pおよび-nフラグの機能は何ですか?マニュアルを見てみましたが、まったく役に立ちません。ここでは-iフラグが最も重要なようです。)
-iフラグなしで「LISTEN」をgrepすると。
このマニュアルには次のように記載されています。
-i [i]このオプションは、インターネットアドレスがiで指定されたアドレスと一致するファイルのリストを選択します。アドレスが指定されていない場合、このオプションはすべてのインターネットおよびx.25(HP-UX)ネットワークファイルのリストを選択します。
私はこれが何を意味するのか本当に理解しておらず、どのポートが使用されているのかを理解するのにどのように役立つのかはわかりません。
ベストアンサー1
-i
インターネットファイルまたはソケットを選択します。オプションのアドレスパラメータと一緒に使用されます。このパラメータがない場合は、すべてのソケットが選択されます。
このオプションを使用すると、追加のフィルタを使用してIPv4 / IPv6、TCP / UDPなどを選択できます。マンページにはいくつかの例がリストされています。
-i 4
IPv4ソケットを選択し、-i 6
IPv6ソケットを選択します。-i TCP
または-i UDP
合意して選択してください。-i @hostname
または、-i @ipaddress
ソケットがバインドされているインターフェイスの名前/ IPとして選択します。-i :port
特定のポートにバインドされているソケットを選択します。
他の2つのオプションを説明するには、次の例を検討してください。このエントリは私のシステムから取得され、2つのCUPSポートを示しています。
cupsd 855 root 9u IPv6 25870 0t0 TCP localhost:ipp (LISTEN)
cupsd 855 root 10u IPv4 25871 0t0 TCP localhost:ipp (LISTEN)
ポートがipp
インターネット印刷プロトコルとして指定されていることがわかります。もう一度数値に変換するには、-P
次のオプションを使用してください。
cupsd 855 root 9u IPv6 25870 0t0 TCP localhost:631 (LISTEN)
cupsd 855 root 10u IPv4 25871 0t0 TCP localhost:631 (LISTEN)
ホスト名はここにlocalhostとして表示されます。大規模なネットワークでは、lsof
ルックアップを通じてホスト名を一覧表示しようとします。最適化では、ホスト名解決ステップをスキップすることができます-n
。使用すると、-n
ホスト名の代わりにIPアドレスが表示されます。
cupsd 855 root 9u IPv6 25870 0t0 TCP [::1]:631 (LISTEN)
cupsd 855 root 10u IPv4 25871 0t0 TCP 127.0.0.1:631 (LISTEN)
しかし、私はこのss
コマンドを使用してリスニングポートを追跡するのが好きです。私が一般的に使用する構文は、ss -ltnp
1)リスニングポートの表示、2)TCPポートのみの表示、3)ホスト名の検索、4)プロセスIDの表示を意味します。結果は次のとおりです(同じCUPSポート)。
LISTEN 0 5 127.0.0.1:631 0.0.0.0:* users:(("cupsd",pid=855,fd=10))
LISTEN 0 5 [::1]:631 [::]:* users:(("cupsd",pid=855,fd=9))