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

が便利そうだというのを見つけた。 これはまた別で。