TCPDUMP常用参数

========================================
作者: zhoushq(http://hi.baidu.com/zhou2008/ )
发表于: 2008.04.28
分类: tcp
出处: http://hi.baidu.com/zhou2008/blog/item/ec28c7fd8f26a240d7887d74.html
========================================

-e    所截取的每个包都显示链路层报头:源MAC地址>目的MAC地址,以太类型 IPV4 (0X0800), 包数据长度。
-n    别把地址转换成名字:显示ip地址,而非主机名称
-nn 别把协议和端口号转换为服务名:譬如显示80端口而非HTTP

 

TCPDUMP常用参数_第1张图片

-x   以16 进制数形式显示每一个报文(去掉链路层报头后) . 可以显示较小的完整报文
示例:#tcpdump -ennx -c 1


-xx   以16 进制数形式显示每一个报文(包含链路层报头)
-X     以16 进制数形式显示每一个报文(不包含链路层报头),同时显示ASCII码。

-XX   以16 进制数形式显示每一个报文(包含链路层报头),同时显示ASCII码。
-s     重定义截取报文大小,默认为96(或68),如果定义为0,则表示获取完整报文。该参数应尽量小,尤其在繁忙网络环境中。
-w    将截取的报文输出到文件中。
-r     从文件中读取报文。
示例:#tcpdump -en -s 0 -XX -i eth0 host www.sina.com.cn -w telnet.out2 将截取到的报文输出到文件telnet.out2中。
示例:#tcpdump -en -s 0 -XX -i eth0 host www.sina.com.cn -r telnet.out2 从telnet.out2中读取报文

TCPDUMP常用参数_第2张图片
监视ARP报文
#arping 192.168.1.100
#tcpdump -enxx -s 0 arp -c 2

TCPDUMP常用参数_第3张图片

TCPDUMP常用参数_第4张图片
上述内容逐一对应截取的报文。

TCPDUMP常用参数_第5张图片
红框第一部分是:链路层以太网帧格式
6字节目的MAC地址(000C 294D 662C)+ 6字节源MAC地址(0014 bf62 f916)+ 2字节帧类型(0800)
帧类型:
           0x0800 IP数据报
           0x0806 ARP数据报
           0x0835 RARP数据报
第二个红框部分是:IP首部
以下为摘录:
图中4500—01c8为IP的头信息。这些数是十六进制表示的。一个数占4位,例如:4的二进制是0100
   4位版本:
   表示目前的协议版本号,数值是4表示版本为4,因此IP有时也称作IPv4;
   4位首部长度:
   头部的是长度,它的单位是32位(4个字节),数值为5表示IP头部长度为20字节。
   8位服务类型(TOS):
   00,这个8位字段由3位的优先权子字段,现在已经被忽略,4位的TOS子字段以及1 位的未用字段(现在为0)构成。4位的TOS子字段包含:最小延时、最大吞吐量、最高可靠性以及最小费用构成,这四个1位最多只能有一个为1,本例中都为0,表示是一般服务。
      前16位合为:4500
  16位 总长度:
   总长度字段是指整个IP数据报的长度,以字节为单位。数值为00 2c ,换算为十进制为44字节,44字节=20字节 的IP头+24字节的TCP头,这个数据报只是传送的控制信息,还没有传送真正的数据,所以目前看到的总长度就是报头的长度。
      对应图中16位:002c
   16位标识:
   标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1,第3行为数值为30 21,第5行为30 22,第7行为30 23。分片时涉及到标志字段和片偏移字段,本文不讨论这两个字段。
      对应图中32位:3546 0000
     
8位生存时间(TTL):
   TTL(time- to-live)生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。ttl的初始值由源主机设置,一旦经过一个处理它的路由 器,它的值就减去1。可根据TTL值判断服务器是什么系统和经过的路由器。本例为80,换算成十进制为128,WINDOWS操作系统TTL初始值一般为 128,UNIX操作系统初始值为255,本例表示两个机器在同一网段且操作系统为WINDOWS。
   8位协议:
   表示协议类型,6表示传输层是TCP协议。
      对应图中16位:f806
   16位首部检验和:
   当 收到一份IP数据报后,同样对首部中每个16 位进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应 该为全1。如果结果不是全1,即检验和错误,那么IP就丢弃收到的数据报。但是不生成差错报文,由上层去发现丢失的数据报并进行重传。
      对应图中16位:df88
   32位源IP地址和32位目的IP地址:
   实际这是IP协议中核心的部分。32位的IP地址由一个网络ID和一个主机ID组成。本例源IP地址为ca 6c 2120 ,转换为十进制为:202.108.33.32 ; 目的IP地址为C0 A8 01c8 ,转换为十进制为:192.168.1.200
      对应图中64位:ca6c 2120 c0a8 01c8

TCP协议头信息(浅色框内容)
端口号:
   常 说FTP占21端口、HTTP占80端口、TELNET占23端口等,这里指的端口就是TCP或UDP的端口,端口就像通道两端的门一样,当两机进行通讯 时门必须是打开的。源端口和目的端口各占16位,2的16次方等于65536,这就是每台电脑与其它电脑联系所能开的“门”。一般作为服务一方每项服务的 端口号是固定的。
      本例目的端口号为29b6,换算成十进制为10678 本例为0050 ,换算成十进制为80
      对应图中32位:0050 29b6
  
32位序号:
  
也 称为顺序号(Sequence Number),简写为SEQ,从上面三次握手的分析可以看出,当一方要与另一方联系时就发送一个初始序号给对方,意思是:“让我们建立联系吧?”,服务 方收到后要发个独立的序号给发送方,意思是“消息收到,数据流将以这个数开始。”由此可看出,TCP连接完全是双向的,即双方的数据流可同时传输。在传输 过程中双方数据是独立的,因此每个TCP连接必须有两个顺序号分别对应不同方向的数据流。
      对应图中32位:975d 9f5c    换算结果为:2539495260
  
32位确认序号:
  
也称为应答号(Acknowledgment Number),简写为ACK。在握手阶段,确认序号将发送方的序号加1作为回答,在数据传输阶段,确认序号将发送方的序号加发送的数据大小作为回答,表示确实收到这些数据。在第三组的分析中将看到这一过程。
      对应图中32位:e789 82fe    换算结果为:3884548862
  
4位首部长度
  
这个字段占4位,它的单位时32位(4个字节)。本例值为6 ,TCP的头长度为24字节 ,等于正常的长度2 0字节加上可选项4个字节。,TCP的头长度最长可为60字节(二进制1111换算为十进制为15,15*4字节=60字节)。
  6个保留位
  
6个标志位
  
URG 紧急指针,告诉接收TCP模块紧要指针域指着紧要数据
  
ACK 置1时表示确认号(为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。
  
PSH 置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。
  
RST 置1时重建连接。如果接收到RST位时候,通常发生了某些错误。
  
SYN 置1时用来发起一个连接。
  
FIN 置1时表示发端完成发送任务。用来释放连接,表明发送方已经没有数据发送了。
       对应图中16位:6012   
16位窗口大小:
   TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个16字节字段,因而窗口大小最大为65535字节。
       对应图中16位:1ffe    换算结果:8190
   16位检验和:
   检验和覆盖了整个的TCP报文段: TCP首部和TCP数据。这是一个强制性的字段,一定是由发端计算和存储,并由收端进行验证。
       对应图中16位:feda   
   16位紧急指针:
   只有当U R G标志置1时紧急指针才有效。紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。
        对应图中16位:0000  
   选项: 图 13-1和图13-2有8个字节选项,图13-3没有选项。最常见的可选字段是最长报文大小,又称为MSS (Maximum Segment Size)。每个连接方通常都在握手的第一步中指明这个选项。它指明本端所能接收的最大长度的报文段。图13-1可以看出208号机可以接受的最大字节数 为1460字节,1460也是以太网默认的大小,在第三组的数据分析中可以看到数据传送正是以1460字节传送的。
        对应图中16位:05ac 换算结果:1452  

TCPDUMP常用参数_第6张图片

 

引用:
http://hi.baidu.com/duanqian/blog/item/7b62a5af31248ac97dd92a36.html
http://hi.baidu.com/duanqian/blog/item/a75e394e7ae6bccfd0c86a36.html

你可能感兴趣的:(windows,应用服务器,网络应用,Blog,网络协议)