自分はプログラミング初心者で、今はネットワークについて勉強をしています。
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
が表示され、おそらくこの部分がこのコネクションを表している箇所だと推測するのですが、これをどう解釈すればいいかがわかりません。
①そもそもホスト側WindowsPCのIPは192.168.0.3なのですが、192.168.33.1はどこから出てきたのか?
②ポート番号の50052や50053はどこから出てきたのか、そもそもなぜ二つもあるのか?
③そもそもhttpプロトコルは80番を使うんじゃなかったのか?
netstat -anoを使うとその他にも色々と突っ込みどころが多い(謎の通信部分)のですが、こうしたよくわからない部分はそもそもネットワークエンジニアの方々はどのように理解に至るまでの工夫をしているのでしょうか?
その具体的な手段や勉強方法を教えていただけないでしょうか。例えばwiresharkを使うなど。
どうかよろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/04/19 15:08 編集
退会済みユーザー
2018/04/19 15:15