質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Q&A

解決済

2回答

3289閲覧

netstat -anoの見方がわからない

退会済みユーザー

退会済みユーザー

総合スコア0

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

0グッド

0クリップ

投稿2018/04/19 11:43

編集2018/04/19 11:53

自分はプログラミング初心者で、今はネットワークについて勉強をしています。
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を使うなど。

どうかよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0


ホストPCと、仮想マシンとのネットワーク接続方法をブリッジじゃなくて、NATかHostOnlyの構成で繋いでいるのでしょう。この場合、ホストPCと仮想マシンの間に仮想的なルーターがあり、そのルーター経由でつながっています。ホストPCの仮想ルーターにつながるLANの口のIPアドレスが192.168.33.1です。

ipconfigしてみると、192.168.33.1というアドレスが付いているのが分かると思います。


TCPセッションが2つあるのは、普通のブラウザは高速化のためにHTTPサーバーとの間で複数のTCPセッションを張って複数同時にリクエストを送るからです。
クライアント側のTCPポート番号は、一定範囲の中で空いている番号が自動的に振られます。


あなたが、

NodeJSでhttpサーバーをポート番号1337で立ち上げ、

ということをしたためです。

投稿2018/04/19 14:11

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/04/19 15:08 編集

早速の回答ありがとうございました。 ゲストマシンが別ネットワークだということを失念していました。 そんな仕組みがあったんですね。 しかしこの50052や50053という数字はCentOS側から拾えますか?
退会済みユーザー

退会済みユーザー

2018/04/19 15:15

bash側でnetstat -t で見つけました:)
guest

0

ベストアンサー

仕組みがよくわかりました:)
もう少し色々勉強してみます。
回答ありがとうございました。

投稿2018/04/19 15:18

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問