質問: 自分はプログラミング初心者で、今はネットワークについて勉強をしています。 C言語で簡単なソケットプログラミングをしてみたり、理論的な仕組みについては大体わかったと思うのですが、実際の挙動が全くわからないような気がします。 例えばVirtualBox + Vagrantでゲスト側CentOS(192.168.33.10)を構築し、NodeJSでhttpサーバーをポート番号1337で立ち上げ、ホスト側WindowsのChromeで192.168.33.10:1337にアクセスし動作を確認しました。 しかしコマンドプロンプトでnetstat -anoを打ち込むと、 プロトコル ローカルアドレス 外部アドレス 状態 PID TCP 192.168.33.1:50052 192.168.33.10:1337 ESTABLISHED 10980 TCP 192.168.33.1:50053 192.168.33.10:1337 ESTABLISHED 10980 が表示され、おそらくこの部分がこのコネクションを表している箇所だと推測するのですが、これをどう解釈すればいいかがわかりません。 1そもそもホスト側WindowsPCのIPは192.168.0.3なのですが、192.168.33.1はどこから出てきたのか? 2ポート番号の50052や50053はどこから出てきたのか、そもそもなぜ二つもあるのか? 3そもそもhttpプロトコルは80番を使うんじゃなかったのか? netstat -anoを使うとその他にも色々と突っ込みどころが多い(謎の通信部分)のですが、こうしたよくわからない部分はそもそもネットワークエンジニアの方々はどのように理解に至るまでの工夫をしているのでしょうか? その具体的な手段や勉強方法を教えていただけないでしょうか。例えばwiresharkを使うなど。 どうかよろしくお願いいたします。
回答: 仕組みがよくわかりました:) もう少し色々勉強してみます。 回答ありがとうございました。