私のSolaris 10システムの一部のプロセスは、TCP SYNをリモートシステムに送信しています。リモートコンピュータが応答しないため、接続は確立されません。このタスクを開始するプロセスをどのように理解できますか?
DTraceスクリプトを調べましたが、a)自分で作成するのに十分なDTraceを知りません。 b)既存のスクリプトが見つからず、c)一部のスクリプトが私のバージョンでは利用できないプローブを使用していることがわかりました。 。
洞察力をありがとうございます。ゲイリー
答え1
宛先IPとポートがわかっている場合は、次のことを実行できます。
pfiles $pid
システム内の各プロセスに対応する属性を使用して、ソケットを開いたプロセスを確認します。試してみるのがいいと思います。
lsof -i
ルートとしてソケットが有効になっている間にソケットを取得できることを確認してください。
マシンが外部にあるため、マシンが誰に属しているか、どのソフトウェアを受け取ったかを確認して、確認する必要があるプロセスを制限できます。
答え2
このDtraceスクリプトを見てください。つながる
# ./conntrack -h
USAGE: ./conntrack [-h] [-p port] [-c command] [-u user]
-p port # filter by port (incompatible with user and command)
-c command # filter by command (incompatible with port and user)
-u user # filter by user (incompatible with port and command)
eg,
./conntrack -p 22 # snoop connections to port 22
答え3
システムの各プロセスについて一時停止し、kill -STOP $pid
接続試行が停止していることを確認してから、再起動に使用しますkill -CONT $pid
。