首先下载一份代码,用来发送数据包
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。
我们抓到的数据包如下:
可以看到,只有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
====================================