web-dev-qa-db-ja.com

Solaris10でTCP SYNを送信しているプロセスは何ですか?

Solaris10マシンの一部のプロセスがTCP SYNをリモートマシンに送信しています。リモートマシンが応答しないため、接続が確立されていません。これを開始しているプロセスを確認するにはどうすればよいですか?

私はDTraceスクリプトを見てきましたが、a)自分で作成するのに十分なDtraceを知らない、b)既存のスクリプトが見つからない、c)自分のバージョンで使用できないプローブを使用していることがわかったものがあります。

洞察力をありがとう。ゲイリー

3
Gary

このDtraceスクリプトを見てください: conntrack

# ./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
2
jlliagre

宛先IPとポートがわかっている場合は、次のコマンドを実行できます。

pfiles $pid 

システム上のすべてのプロセスについて、属性でソケットが開かれているプロセスを判別します。使ってみるのもいいかもしれません

lsof -i

rootとして、まだ稼働している間にソケットを取得できるかどうかを確認します。

マシンは外部にあるため、マシンが誰に属しているか、どのソフトウェアを使用しているかを確認して、確認する必要のあるプロセスを制限できる場合があります。

2
Karlson

システム上のプロセスごとに、kill -STOP $pidで一時停止し、接続の試行が停止するかどうかを確認してから、kill -CONT $pidで再開します。

1
Jim Paris