このコマンドの結果にポート番号はどこに表示されますか?

このコマンドの結果にポート番号はどこに表示されますか?

システム上で簡単なポートスキャンを実行していますが、混乱しているかどうかわかりません。

実行後のlsof -i結果は次のとおりです:

コマンド PID ユーザー FD タイプ デバイス サイズ/オフ ノード名
firefox-e 8008 legion 43u IPv4 96999 0t0 TCP KryptL0c:44376->ec2-34-212-188-196.us-west-2.compute.amazonaws.com:https (確立済み)
firefox-e 8008 legion 67u IPv4 84170 0t0 TCP KryptL0c:52778->ord37s09-in-f10.1e100.net:https (確立済み)
firefox-e 8008 legion 94u IPv4 93549 0t0 TCP KryptL0c:56526->ord37s35-in-f1.1e100.net:https (確立済み)
firefox-e 8008 legion 98u IPv4 89869 0t0 TCP KryptL0c:47874->ec2-52-86-133-10.compute-1.amazonaws.com:https (確立済み)
firefox-e 8008 legion 126u IPv4 98838 0t0 TCP KryptL0c:40792->ord38s28-in-f10.1e100.net:https (確立済み)
firefox-e 8008 legion 131u IPv4 98839 0t0 TCP KryptL0c:41878->ord38s01-in-f10.1e100.net:https (確立済み)
firefox-e 8008 legion 133u IPv4 88016 0t0 TCP KryptL0c:44998->server-99-84-167-136.ord52.r.cloudfront.net:https (確立済み)
firefox-e 8008 legion 176u IPv4 88018 0t0 TCP KryptL0c:51574->ord37s18-in-f2.1e100.net:https (確立済み)
firefox-e 8008 legion 179u IPv4 86297 0t0 TCP KryptL0c:46752->142.250.123.157:https (確立済み)
firefox-e 8008 legion 184u IPv4 84401 0t0 TCP KryptL0c:40262->ord38s08-in-f2.1e100.net:https (確立済み)
firefox-e 8008 legion 187u IPv4 92092 0t0 TCP KryptL0c:38700->ord38s28-in-f1.1e100.net:https (確立済み)
firefox-e 8008 legion 193u IPv4 89558 0t0 TCP KryptL0c:40714->ord37s09-in-f2.1e100.net:https (確立済み)
firefox-e 8008 legion 199u IPv4 90795 0t0 TCP KryptL0c:47760->136.144.59.88:https (確立済み)
firefox-e 8008 legion 201u IPv4 90789 0t0 TCP KryptL0c:40586->server-99-84-253-65.ord50.r.cloudfront.net:https (確立済み)
firefox-e 8008 legion 210u IPv4 90803 0t0 TCP KryptL0c:41732->lga15s49-in-f4.1e100.net:https (確立済み)
firefox-e 8008 legion 214u IPv4 90805 0t0 TCP KryptL0c:45540->rio01s25-in-f3.1e100.net:https (確立済み)
firefox-e 8008 legion 221u IPv4 97886 0t0 TCP KryptL0c:41752->ord37s07-in-f14.1e100.net:https (確立済み)
firefox-e 8008 legion 301u IPv4 92423 0t0 TCP KryptL0c:59832->ord38s04-in-f2.1e100.net:https (確立済み)

最初の行のポートは 44376 ですよね?

それが正しく、これらのサービスがシステム上で確立されている場合、ポート スキャンを実行するとnmap -p 1-65535 xxx.xxx.x.xxx開いているポートがないという結果が表示されるのはなぜですか?

答え1

最初の行のポートは 44376 ですよね?

はい、ローカル ポートは 44376 です。ただし、システムとリモート ホスト間の確立された接続を確認しています。あるポートで接続があるからといって、そのポートにリスニング ソケットがあるわけではありません。

ここでは、ローカル ポートが高く (>40,000)、リモート ポートが 443 (HTTPS) であるため、これはインターネット上の HTTPS サービスへの送信接続であると高い信頼度で推測できます。

macOS または BSD を使用していると想定します。

実際のリスナーの次の例を検討してください (-Pポートが「既知のポート名」に解決されないようにするためです)。

$ lsof -i udp -P
syncthing 16758 fuzzy    7u  IPv6 0xd2b0d06f6f1a443d      0t0  UDP *:22000
$ lsof -i tcp -P
syncthing 16758 fuzzy   17u  IPv6 0xd2b0d06f70a57bfd      0t0  TCP *:22000 (LISTEN)

ご覧のとおり、これらは簡単に区別できます。リモート エンドポイントがありません。TCP には適切な「リスニング」状態があるため、これも明示的にリストされます。UDP の場合、物事はそれほど簡単ではありません。

TCP ポート 22000 に対して NMAP を実行すると、開いていると報告されます。

答え2

KryptL0c:44376->ec2-34-212-188-196.us-west-2.compute.amazonaws.com:https

この場合、推測するhttps は既知のサービスであるため、接続はクライアントの host:port ソースから宛先KryptL0c:44376サーバー->の host:port を指します。ec2-34-212-188-196.us-west-2.compute.amazonaws.com:https

ソース ポートは、クライアント側の送信接続に使用され、サービスがリッスンしていないため、開いているようには表示されません。たとえば、Web サーバーへのすべての Web ブラウザー接続では、異なるクライアント/ソース ポートを使用してネットワーク接続が開かれます。接続が閉じられるとポートは自動的に閉じられ、次の接続には新しいポートが使用されます。ソース ポートは通常、32768 を超える大きな数字です。

httpsまた、一般的なサービス ポート番号は、/etc/services ファイルを使用して (ポート 443) のような名前に解決され、出力ではこのように数字として表示されないことがよくあります。

関連情報