2017/12/26

期待したアプリがポートで待ち受けているかどうか

前回の続きみたいなものだ。

netcatを使って、ファイアウォールではポートを閉じていないことはわかった。
しかし、そのときにやりたかったことは相手のアプリと通信することで、それはうまくいっていなかったのだ。
結果としては、アプリの設定が足りず、開いていたポートは別の用途で使うためのものだった、というだけであった。

もしそのとき、アプリがどのポートを開けているのかわかっていれば、設定が足りていなかったということがわかったので、その方法を知っておきたい。


$ netstat -nap

Ubuntuだと、これでプロセス名付きで出してくれる。
WSLではダメだったから、なんかあるのかもしれん。


たとえば、

tcp        0      0 127.0.0.1:18332         0.0.0.0:*               LISTEN      1196/bitcoind

だと、bitcoindというプロセスがlocalhostの18332というポートで待ち受けていることが分かる。

tcp        0      0 0.0.0.0:18333           0.0.0.0:*               LISTEN      1196/bitcoind

これは、localhost以外からも待ち受けている場合だろう。
外部から接続したいときは、このポート番号を使えばよいということがわかる。

たしかtestnetのbitcoindは、18333がP2P用で、18332がJSON-RPC用だったはずだ。
通常、JSON-RPCはlocalhostにしか公開していないのでこうなる(bitcoin.confで公開するIPアドレスを指定可能)。


こんな感じで、待ち受けている様子だけは見ることができるが、何のために開けているのかはわからないので、そこからは自分で調べることになるのだ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。