ablog

不器用で落着きのない技術者のメモ

Solaris10でプロセスが使っているポートを調べる

  • コマンド
# for pid in `ps -aeo pid | grep -v PID`; do
pfiles ${pid} | egrep "^${pid}:|sockname:"
done
  • 実行結果
(中略)
1337:   /usr/lib/ssh/sshd
        sockname: AF_INET6 ::ffff:192.168.45.101  port: 22
976:    oracleorcl (LOCAL=NO)
        sockname: AF_INET 0.0.0.0  port: 0
        sockname: AF_INET 192.168.45.101  port: 1521
978:    oracleorcl (LOCAL=NO)
        sockname: AF_INET 0.0.0.0  port: 0
        sockname: AF_INET 192.168.45.101  port: 1521
980:    oracleorcl (LOCAL=NO)
        sockname: AF_INET 0.0.0.0  port: 0
        sockname: AF_INET 0.0.0.0  port: 0
        sockname: AF_INET 192.168.45.101  port: 1521
982:    oracleorcl (LOCAL=NO)
        sockname: AF_INET 0.0.0.0  port: 0
        sockname: AF_INET 192.168.45.101  port: 1521
1339:   -bash
1333:   oracleorcl (LOCAL=NO)
        sockname: AF_INET 0.0.0.0  port: 0
        sockname: AF_INET 192.168.45.101  port: 1521
1331:   sqlplus scott/tiger@192.168.45.101:1521/orcl
        sockname: AF_INET 127.0.0.1  port: 32809
        sockname: AF_INET 192.168.45.101  port: 32992
        sockname: AF_INET 0.0.0.0  port: 0

おお、でた。
Oracle のサーバー・プロセスが通信時にリスナーと同じポートを使うのか別のポートを使うのか知りたかったんだけど、リスナーと同じポート(1521)使ってるみたい。


ってそらそうか。
いくつもポート使われたら面倒だもんな。
FTP みたいに Firewall とか iptables の設定するときに IP でトラッキングしないといけなくなるもんな。


[参考]
netstat でプロセス特定できないの? in Solaris (2) - うほぅ