目录
一、tcpdump命令
二、UDP协议
前言
2.1、UDP协议的特点:
2.2、UDP的协议格式
16位的UDP长度:
结合抓包工具:分析一下UDP协议,就利用我们之前写的udp_socket编程
16位的校验和:
2.3、UDP的应用:
一、tcpdump命令
我们可以通过之前我们写的tcp-sock代码去进行抓包,来实践一下
tcpdump万能公式:
tcpdum -i any port [端口号] -s 0 -w 123.dat
-w指的是将抓包获得的数据放入123.dat这个文件当中去
前提:tcpdump命令执行的时候,需要使用root用户
我们这时候去浏览器上给服务端发送请求,请求的数据就能被获取到123.dat文件上
我们发送过请求之后,关闭tcpdump,可以发现已经获取了17个数据包了
我们这时候打开123.dat这个文件,会发现全是我们看不懂的东西,因为抓到的东西全是二进制的
这时候我们就可以借助wireshark工具,让他帮我们进行解析
我们能够看到分析过后的内容:
二、UDP协议
前言
传输层是负责端对端之间的传输,端指的是端口(port);TCP协议和UDP协议都是传输层的协议
传输层当中就需要约定源端口和目的端口了
2.1、UDP协议的特点:
无连接,不可靠,面向数据报
2.2、UDP的协议格式
16位的UDP长度:
保存的是UDP数据的总长度(udp报头部分+数据),单位是字节;
考虑一下: 16位最大能够表示的数字是65536,也就是说最大的udp总长度是15536字节
单条udp数据是不会超过65536字节的,如果超过了,该怎么办呢?
结合抓包工具:分析一下UDP协议,就利用我们之前写的udp_socket编程
打开wire shark 分析一下我们抓到的数据
我们可以打开其中一个UDP的消息,来进行分析一波:
对照着UDP协议的格式,我们就能够更好的理解发送的内容:
16位的校验和:
为了校验数据在传输过程当中是否失真,
发送方会打上校验和,接收方会通过校验和验证
2.3、UDP的应用: