lsofを使用して着信TCP接続を識別する方法は?

lsofを使用して着信TCP接続を識別する方法は?

私のサーバーがリモートサーバーとの接続を確立したのか、リモートサーバーが自分のサーバーにアクセスしようとしているのかを知りたいです。出力を読み、lsof次の情報を取得しようとします。

lsof -i TCP:25 
 USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
master   2657    root   12u  IPv4     8086      0t0  TCP *:smtp (LISTEN)
smtpd   12950 postfix    6u  IPv4     8086      0t0  TCP *:smtp (LISTEN)
smtpd   12950 postfix    9u  IPv4 35762406      0t0  TCP hostname:smtp->spe.cif.ic.IP:55277 (ESTABLISHED)
smtp    13007 postfix   13u  IPv4 35762309      0t0  TCP hostname:34434->fake.VVVVV.fr:smtp (ESTABLISHED)
smtpd   14188 postfix    6u  IPv4     8086      0t0  TCP *:smtp (LISTEN)
smtpd   14188 postfix    9u  IPv4 35748921      0t0  TCP hostname:smtp->XX.XX.XX.XX:55912 (ESTABLISHED)
smtpd   14897 postfix    6u  IPv4     8086      0t0  TCP *:smtp (LISTEN)

spe.cif.ic.IPこのメッセージが私のサーバーが接続しようとしていることを意味するのか、それともその逆なのか疑問に思います。
このフラグは->関連していますか?それとも別のコマンドを使用する必要がありますか?

答え1

手がかりはポート番号にあるようです。これら2つのアイテムを入手してください。

smtpd   12950 postfix    9u  IPv4 35762406      0t0  TCP hostname:smtp->spe.cif.ic.IP:55277 (ESTABLISHED)
smtp    13007 postfix   13u  IPv4 35762309      0t0  TCP hostname:34434->fake.VVVVV.fr:smtp (ESTABLISHED)

smtpdはsmtp(25)ポートの拡張ポートから接続を受信し、smtpはローカル拡張ポートを使用してリモートポートsmtp(25)に接続します。

だから->その意味は接続済み

答え2

lsof少なくともLinuxでは、情報が得られない場所からリストを取得するため、どちらから接続を開始したかを知る方法はありません。/proc/net/tcp最初のアドレスは常に次を参照します。地元のエンドポイント。

ss接続情報を取得するために別のカーネルAPIを使用するこのユーティリティの最新バージョンは-e指示を提供しますが、残念ながらTCP接続では機能しません。

〜のように@XTianが言った。、TCP / SCTP / UDPを使用すると、通常は接続イニシエータが高いポートを使用し、ターゲットは一般によく知られている低ポートであるため、どちらかを推測できます。しかし保証はありません。マシンが利用可能であることを確認してください。聞く同じポートにあるソケットを使用すると、その方向のアイデアも得られます。たとえば、あなたの場合、portではリッスンしますsmtp/25が、portではリッスンしないプロセスがあるかもしれませんunknown/34434fake.VVVVV.fr特に、ソースポート25 / smtpを使用してコンピュータのポート34434への接続を開始した可能性はほとんどありません(可能性は低いが完全に可能です)。

信頼性を高めるために接続トラッカーを照会できます。

システムのファイアウォール接続トラッカーは、接続を開始したエンド(またはUDPなどの非接続トランスポートプロトコルに対して最初のパケットを送信したエンド)を追跡します。conntrackコマンドラインユーティリティやtopなどのコマンドを使用して、接続追跡テーブルを照会できますiptstate

ここで、各行の最初のアドレスは接続が開始されたアドレスになります。

これには追跡されたすべての接続が含まれるため、システム(ルーターなど)を介して転送された接続も含まれる場合があります。

関連情報