最后更新于 .

经常在linux下工作的朋友一定经常需要用tcpdump抓包分析,不过有时候肉眼看起来实在是太累,不经意居然发现了这样一个好工具:
wireshark,下载页:http://www.wireshark.org/download.html

简单用他来演示一下tcp协议的整个过程:
先在开发机上开始抓包:

tcpdump -ieth1 host 172.27.193.234 -w tcpbao

调用一个发送tcp请求的小程序,可以抓到包---tcpbao.

用wireshark载入之后,会看到如下界面:

1

可见,整个过程完整的展现了TCP协议中,建立链接->发送数据->断掉链接的过程。
读者可以对照本博的:
TCP协议状态详解

http://bigwhite.blogbus.com/logs/11582229.html
来看。

简单说一下:

1~3个报文是tcp三次握手建立链接的过程
4~7个报文是客户端发送实体数据的过程
8~10个报文是客户端主动断掉链接的过程(这里和标准的关闭链接貌似有点出入,标准TCP协议貌似还要多返回一个ACK报文)

其实这个软件还支持直接抓包来查看报文的,详细可以看一下如下的在线文档,在此不再赘述。
http://man.lupaworld.com/content/network/wireshark/

OK,希望对大家有用~

Pingbacks

Pingbacks已打开。

Trackbacks

引用地址

评论

  1. 可可火山

    可可火山 on #

    wireshark(前身etheral)是个优秀的开源软件。win/linux都有~

    以前都用 sniffer pro的。

    Reply

    1. Dante

      Dante on #

      说来奇怪sniffer在我电脑上总是不抓包。。。
      我现在http请求是用:httpwatch或者fiddler
      其他类型的请求使用:wireshark

      Reply

      1. 可可火山

        可可火山 on #

        可能是驱动问题吧。
        我的无线网卡也没法在混杂模式下嗅探。sniffer 盗版的不想用了,

        Reply

      2. 依云

        依云 on #

        wireshark我用很久了。HTTP可以用火狐的httpfox插件(或者firebug)搞定。

        Reply

  2. arey.cn

    arey.cn on #

    这个软件很好,从第一版开始用用到现在...

    Reply

发表评论