tcpdump常用用法+ wireshark分析帽包

  

工作中的常用用法
一、tcpdump常用用法:

  

1, -我指定网口-vnn常用选项,显示详细信息并且不解析IP、端口,
抓取某个网口上发往或来自某个IP的报文
<代码> tcpdump - ethX主机192.168.1.100 -vnn

  

2,可以用或或者和连接多个过滤条件,港口前的tcp表示tcp协议,也可为udp;
抓取某个网口上发往或来自某个IP,并且指定端口的报文
<代码> tcpdump - ethX主机192.168.1.100和tcp端口22(端口号)-vnn

  

3, - c指定抓取报文的数量,用- w把抓取的数据包写入文件;
抓取某网口50个包并写入转储。帽(为什么是.cap ?因为wireshark识别此扩展名)文件:
<代码> tcpdump - ethX 50 - c - w/root/dump.cap

  

4,可以用关键字src或者dst表示源或者目的;
抓取源端口号为22 (tcp协议)的报文
<代码> tcpdump - ethX tcp src端口22(端口号)-vnn

  

以上为常用用法,可以根据实际情况灵活组合。

  

二,wireshark分析报文:

  

1,淡紫色数据包为正常数据包,包括数据包和ACK包

  

2,黑色为异常包,包括丢包ACK,重传等

  
 <代码> 2.1在捕获数据包大小有限
  这个标志说明数据包并没被完全抓到,而只是抓到了一部分。这种情况多数是由于抓包方式引起,在某些系统中tcpdump只抓每个帧的前96个字节。我们可以“s”参数来指定想要的字节数。
  
  2.2 TCP前一段不是被俘
  TCP传输过程中同一台主机发出的数据应该是连续的,即后一个数据包的序列应该等一前一个数据包的序列+兰,如果后面捕捉到的数据包不符合这样的规律,即序列比前一个包的序列+ len大的话,我们就可以认定中间的数据包就没有抓到,导致这个数据包没有按时到达的原因可能有乱序或者丢包导致。
  
  2.3 TCP ack看不见的部分
  当WireShark发现被ACK的那个包没被抓的到,就会提示(TCP ACK看不见的部分),这种提示一般没有什么问题,就是WireShark漏抓了。
  
  2.4 TCP Dup消
  当出现乱序或者丢包等情况的时候,本来应该收到的数据包没有收的到,反而收到了一些序列号比较大的数据包,这时候客户端就会回复一个ACK,证实本应该收到却没有收到的包,如果后面来的还不是所期望的数据包,那么客户端每收到一个其他数据包就会回复一个ACK,由于这些ACK是重复的,所以就会提示[TCP Dup ACK]。
  
  2.5 TCP无序
  TCP传输过程中数据包的序列号应该是持续递增的,也就是说每个数据包之间应该只差一个Len的数据,但是在传输过程中如果序列比较大的数据包比序列比较小的数据包先到达的话,就会触发(TCP前一段不是cpatured),然后如果在后续收到了“迟”到的数据包,就会被标记(TCP无序)。
  
  2.6 TCP快速重传
  当服务器收到3个或以上的[TCP Dup ACK]后就会判定所ACK的包丢失了,哪怕还没有超过定时器的规定,都会立即重新发送,客户端收到后会标记为(TCP快速重传)。
  
  2.7 TCP传输
  一般来说一个数据包丢失后又没有足够的后续数据包来触发(TCP快速重传)的话,超过定时器的时限后就会触发超时重传,这时候客户端收到的数据包就会被标记(TCP传输)。
  
  2.8 TCP Zerowindow
  在TCP数据包中,信息那一栏的中的“赢=XX”中XX代表了接收窗口的大小,代表了这个信息的源地址的主机还有多少数据可以接收,或者说缓存区还有多少空间。当赢=0的时候就会给相应ACK打上[TCP Zerowindow]的标志,告诉发送方我没有数据可以接收了。
  
  2.9 TCP窗口全
  当出现这个标志的时候证明发送方已发送的但还没有确认的数据包已经达到了接收方接收窗口的上限,也就是说这个时候发送方就会停止发送数据,而不是等接收方回复[TCP Zerowindow]后才停止发送,所以[TCP窗口满]针对的是发送方没法发送数据,而[TCP Zerowindow]指的是接收方没法接收数据,不管出现哪一种情况,都会中断数据的传输,直到缓存区有新的空间存放数据。 
  

3,数据包的标签从左到右依次为:
数据包编号——时间——源地址——目标地址——协议类型- - -长度- - - - - -总长度——数据包序号——下一个数据包序号——消号——身份识别码——rtt——一些窗口参数

  

4,再点击一个报文后,我们在WireShark的下端可以看到更为详细的信息:
分别对应OSI七层模型的,数据链路层,网络层,传输层,应用层

tcpdump常用用法+ wireshark分析帽包