以前のバージョンのSolaris 10を診断していましたが、ポート検索中にそのサーバーの承認済みリストにないオープンポートが見つかりました。
さまざまなスイッチの組み合わせを試しましたが、netstat
開いているポートの関連サービス名またはPIDを提供するための正しい出力を取得できないようです。
今回のリリースの netstat 機能セットは、Solaris リリースやその他の UNIX オペレーティングシステムと比較して制限されているようです。netstat -tulpn
例は機能しません。
lsof
セキュリティ制限のためインストールできませんでした。
どんなアイデアがありますか?
答え1
Solarisの場合、をpfiles <pid>
使用してプロセスで開かれたネットワークポートを確認できます。 forループを使用すると、/proc/*
実行中の各プロセスでそれを使用して目的のpfiles
ポートを見つけることができます。欠点は、情報を取得するにはSolaris 10を使用するroot
か、Solaris 11で権限()を取得できる必要があることです。pfexec pfiles
Solarisホストに入ることができる場合は、root
次のものが利用可能である必要があります。
PORT=22; for PID in /proc/*; do pfiles ${PID} |grep "port: ${PORT}" && echo ${PID}; done
これは/proc/*
指定されたポートを繰り返しフィルタリングし、一致するものが見つかるとプロセスID(/proc/####
)が次の行に表示されます。