• ベストアンサー

wiresharkの見方がよく分からない(3ウェイハンドシェイク)。

wiresharkを使って(遊んで?)、ネットワークの勉強をしているのですが(『実践 パケット解析』という本を読んでいます)、いまいち見方がよく分かりません。ネットワークの知識が乏しいせいかもしれませんが。 例えば、TCPの接続で、3ウェイハンドシェイクというものがあると思うのですが、その時のinfoで、 2580>http [syn] seq=0 Len=0 MSS=1460 という、表示があります。多分、一番最初のSYNパケットを送っているところだと思うのですが、なぜ最初にhttpという表示があるのでしょうか?まず、TCPで3ウェイハンドシェイクで行って、セッションを確立してからhttp…だと思っているのですが…。また、2580>の意味もよく分かりません。本には、この部分は触れられていませんでした。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

名前解決 (Name Resolution) のオプションが効いていることで,TCPポート番号80番が 'http' という文字列に変換されています。 「2580 > http」という表記で,次の方向の通信データであることを示しています。   Webクライアント側のTCPポート2580番 → Webサーバ側のTCPポート80番

その他の回答 (1)

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.1

wireshark 自体を知らないので適当に書いてます おそらく通信内容モニタリングできる部類のソフトではないかと推察します 本当の意味はマニュアル(ヘルプ)などに書いていない限り 正確にわかるのはそのソフトの作成者だけでしょう おそらく解析ソフト側でhttpアクセスのためにSYNパケット送信を 行ったということを認識してオペレータに わかりやすく表示しているだけではないでしょうか? 本当にパケット内容順次表示してるだけなら解析してないし オペレータには相当な負荷になります 最初の2580>は 単純にログ(解析内容表示の)通し番号の様な気がしますが違いますでしょうか?

nabewari
質問者

お礼

回答ありがとうございます。 >最初の2580>は 単純にログ(解析内容表示の)通し番号の様な気がしますが違いますでしょうか? そうかもしれません…。が、ちょっと私には分からないです。

関連するQ&A

  • WiresharkのFlow Graph

    現在WiresharkのFlow Graphという機能を使用して、クライアント端末がサーバー端末へのTCP通信での3ウェイハンドシェイクのパケットやりとりを観測したいと思っています。 次のようなパケットをモニターしました。 |Time | 192.168.1.111 | | | | 192.168.1.222 | |6.402 | PSH, ACK - Len: 1212 |Seq = 1 Ack = 1 | |(6057) ------------------> (5000) | |6.606 | PSH, ACK - Len: 1212 |Seq = 1 Ack = 1 | |(6057) ------------------> (5000) | |6.835 | PSH, ACK - Len: 1212 |Seq = 1 Ack = 1213 | |(6057) <------------------ (5000) | |7.039 | ACK | |Seq = 1213 Ack = 1213 | |(6057) ------------------> (5000) | |7.150 | ACK | |Seq = 1213 Ack = 1213 このパケットのやりとりを観ていて思ったのですが、TCP通信は3ウェイハンドシェイクは SYN--->SYN ACK---> ACK という順序でのパケットのやりとりをクライアントとサーバー間で行うと思っていたのですが、 PSH, ACK ----> PSH, ACK ----> ACK ----> ACK このような順序になっているように思うのですが、これはなぜなのかご教授頂けないでしょうか? どうぞ、よろしくお願い致します。

  • Wiresharkの使い方

    Wiresharkで、自分のパソコン以外のパソコンのパケットをキャプチャするにはどうすれば良いのでしょうか? ・遠くに住んでいる家族のパソコンをキャップチャするにはどうすれば良いのでしょうか?(IPアドレスを教えてもらえばできますか?) ・自宅にパソコンが2台あるのですが、Wiresharkをインストールしたパソコンからもう一つのパソコンの通信を見るにはどうすれば良いのでしょうか? ・大学の研究室に自分のパソコンを2台持って行くとして、Wiresharkをインストールしたパソコンからもう一つのパソコンの通信を見るにはどうすれば良いのでしょうか?(自分のパソコンを使って実験すれば迷惑にはなりませんか?) スイッチとかハブの仕組みがよくわかっていないのが原因だとはわかっているのですが、本などを読んでいても理解できなくて・・・申し訳ありませんが教えてください。 そもそも自分のパソコンがどのネットワーク機器で通信しているのかわかりません。 ですが、とりあえず実践してみて、パケットやネットワークについて学んでいきたいと思っています。 面倒でしたら、どれかひとつでも良いので教えてくださると嬉しいです。 よろしくお願いします。

  • 3ウェイハンドシェイクについて

    TCP通信を行う場合、3ウェイハンドシェイクでパイプをつくるようですが、その始め(通信の始め)にSYNを送り、その返信にACKを返す仕組みになっていると思います。そのSYNを送るときに、MAC、IP、TCPヘッダーをつけたパケットを送ると思うのですが、アプリが作ったデータもまた送るのでしょうか?通信できるかどうかを確かめるだけなら最初の通信はデータが必要ないと思うのですが・・・。また、データをつけないパケットなども送ることができるのか(フォーマットに合わないような気が・・・)どうかもあわせてお願いします。

  • LANアナライザで(Wireshark)

    ネットワークでひっきりなしパケットが飛んでいるので、LANアナライザで(Wireshark)で確認してみました。 No. Time Source Destination Priticol Info 1 0.000000 AbitComp_b4:55:e0 XimetaTe_1c:08:74 0x88ad Ethernet II 2 0.000147 XimetaTe_1c:08:74 AbitComp_b4:55:e0 0x88ad Ethernet II ・ ・ ・ と、一秒間に4パケットずつ飛ばしているようで、上記の二行が永遠と表示されます。 なにか、ネットワーク、LANボードで問題が発生しているのでしょうか? ご教授よろしくお願いいたします。

  • パケットキャプチャについて

    パケットキャプチャについて wiresharkでパケットキャプチャをやっております。tcpでsynのパケットのみを収集したいのですが、現在では、 (1)ファイルの読み込み (2)フィルタの条件でtcp.flag.fin == 0 and tcp.fla.syn ==1 and tcp.flg.ack == 0 と入れフィルタリング。 (3)結果のファイルを保存 となって大変時間がかかります。cuiでコマンドライン上で一発ですませられる方法はありませんか?

  • HTTPアクセスの処理

    HTTPで「http://www.yahoo.co.jp」にアクセスしようとした場合、どのような内部処理が行われるのでしょうか? 大まか流れとして 1・DNSによる名前解決 2・TCPセッションの確立 3・HTTP要求 と考えてます。(ARP解決は省略します) 1・DNSによる名前解決 プロトコルスタックの流れだとHTTP→DNS→TCP→IP→Ethernetでネットワークに送信され、応答がEthernet→IP→TCP→DNSになると思います。 2・TCPセッションの確立(省略) SYN→SYN ACK→ACK 3・HTTP要求(省略) HTTP GET→HTTP 200 OK わからない部分は1・DNSによる名前解決が終わったあとどうやって2・TCPセッションの確立に移行するのかということです。 (同様に2・TCPセッションの確立が終わったあとに3・HTTP要求)

  • TCPパケット解析

    下記は、何を使用としているのかを、解析したいと思っています。 Source / destination /protocol /length /info A / B / TCP / 54 / 10085-80 (ACK) Seq=572 Ack=2032 win=65700 Len=0 B / A / TCP / 54 / 80-10085 (FIN, ACK) Seq=2032 Ack=572 win=6992 Len=0 A / B / TCP / 54 / 10085-80 (ACK) Seq=572 Ack=2033 win=65700 Len=0 A / B / TCP / 54 / 10085-80 (FIN, ACK) Seq=572 Ack=2033 win=65700 Len=0 B / A / TCP / 54 / 80-10085 (ACK) Seq=2033 Ack=573 win=6992 Len=0 素人に説明出来る方、宜しくお願い致します。

  • Wiresharkでみるときの、1回のパケット

    Wiresharkでみるときの、1回のパケットを追う方法を探してます。 TCP通信にて、通信確立後にデータのやり取りをしている通信を数時間tcpdumpにて取得し、 Wiresharkで流れをみています。そのときに、1回のデータのやり取りと見るために方法を教えてください。 クライアントからのリクエストとサーバからのレスポンスで、 1回目クライアントからデータ送信し、 複数かいやり取りして、終了(200 OKを返却して) 2回目クライアントからデータ送信し、 複数かいやり取りして、終了(200 OKを返却して) という動作を繰り返してますが、 この1回目がここからここまでのパケット、2回目がここからここまでのパケットと知りたいのです。 なんとなくみると、ストリームNoなどもありますが、 ストリームNoが1回の通信後とのNoかとおもったら、 ストリームNoでフィルタしたら、 1回目5回目8回目・・と複数回のものが同じストリームNoであり、 どうゆうことだとうと疑問になってます。 詳しい方よろしくお願いします。

  • Wiresharkのキャプチャログの検索方法

    WireSharkで現在作成している端末のTCPパケットを1時間ぐらいキャプチャしました。この1時間の間に3回ぐらい10分程度無通信状態の時間帯があるんですが、その時間を忘れてしまいました。この時間帯を検索したいのですが、ログの量が多すぎて見つけるのが難しくて困ってます。Filter検索とかで何時何分のパケットだけ表示する方法は無いでしょうか?

  • C言語でTCPの3way handshake

    (C言語)Linuxのpacket socket(socket(AF?PACKET, SOCK_DGRAM, htons(ETH_P_IP))) を使ってTCPの3way handshakeをOSのプロトコルスタックに頼らず自力で挑戦しています。 RFCやほかの技術本をよんでIPヘッダやTCPヘッダの実装は一応できたのですが、肝心のsynパケットを送った後のackパケットが返ってきません。 wiresharkでは問題なくsynパケットと認識できているのですが、きっとどこかに不備があるはずです。 そこでC, C++ Javaでもいいのでこのプログラムの実装例が載っているサイトなどを教えてください。(英語でもかまいません)