UDP学习:抓包分析

首先下载一份代码,用来发送数据包

git clone http://git.shiyanlou.com/shiyanlou/tcp_ip_5

然后对这份文件里面的代码进行编译

然后安装一个抓包工具tcpdump,并且运行,监视7777端口。

sudo apt-get update
sudo apt-get install tcpdump
sudo tcpdump -vvv -X udp port 7777

运行我们下载的程序,它将发送一个”hello”向192.168.1.2。

我们抓到的数据包如下:

UDP学习:抓包分析_第1张图片

可以看到,只有ip的包和udp的包。下面来分析。

(1)4500 4代表ipv4协议,5代表IP首部的长度(指代首部占32bit/4byte的数目),20字节.00代表服务类型为一般服务。

(2)0030 代表总长度(包含报头和数据)是48.

(3)7ef5 16位标志

(4)4000 3位标志加13位片偏移

(5)4011 40代表生存时间ttl64,11代表协议类型udp(17)

(6)1170 代表首部校验和

(7)c0a82805 32位源ip地址:192.168.40.5

(8)c0a80102 32位目的地址:192.168.1.2

====================================

(1)e6ef 16位端口号:59119

(2)1e61 :16位目的端口号7777

(3)001c udp数据报长度:28(由于udp报文头长度固定为u8,所以知道数据长度是20byte)

(4)aa85 16位校验和

(5)68/65/6c/6c/6f/00/0000..... 数据内容,转换可知内容是”hello”。后面的多余字节都是0。

你可能感兴趣的:(网络基础知识)