netstatを使って「TCPで繋がる」と思ってるものを確認する
サーバーを作った時に作ったサーバのTCPのレイヤーで接続可能か知りたい時がある。 大体の場合は 「つながる想定(セキュリティの設定とか)なんだけど繋がらない」って時にサーバーに入って確認する
例
netstat -anp | grep 8080
なんとなく 「誰」 が 「どこに」 どこのポートを使って接続してるのかがわかる
unicornの例
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 18431/unicorn.rb -E
stateはメモしておく
- ESTABLISHED -> 接続確立済みで現在接続中
- TIME_WAIT -> 接続終了待ちの状態
- LISTEN -> 接続可能な状態(待ち受けてる)
ユースケースに則った使い方は別記事にしようと思う
因みに使ってるportを調べたい時は
lsof -i:8080
が便利そうだというのを見つけた。 これはまた別で。