UDP是定义用来在互连网络环境中提供数据报交换的计算机通信的协议。此协议默认是IP下层协议。此协议提供了向另一用户程序发送信息的最简便的协议机制,不需要连接确认和保护复制,所以在软件实现上比较简单,需要的内存空间比起TCP相对也小。
UDP包头由4个域组成,其中每个域各占用2个字节。
(1)源端口号(16位):UDP数据包的发送方使用的端口号。
(2)目标端口号(16位):UDP数据包的接收方使用的端口号。UDP协议使用端口号为不同的应用保留其各自的数据传输通道。UDP和rap协议正是采用这一机制,实现对同一时刻内多项应用同时发送和接收数据的支持。
(3)数据包长度(16位)。数据包的长度是指包括包头和数据部分在内的总的字节数。理论上,包含包头在内的数据包的最大长度为65535字节。不过,一些实际应用往往会限制数据包的大小,有时会降低到8192字节。
(4)校验值(16位)。UDP协议使用包头中的校验值来保证数据的安全。
UDP包结构
导入scapy模块找到UDP协议
实例化udp协议及复合ethernet,ip协议
赋值
srp1()发包
分析
应答 略
没有收到udp应答
ps TCP与UDP的比较:
TCP提供可靠的,面向连接的传输服务
UDP提供不可靠的,无连接的传输服务
TCP是面向流的协议;UDP是基于数据报的协议
TCP适用于一次传送大批量的数据
UDP适用于多次少量数据的传输,实时性要求高的业务
TCP与UDP的比较
使用TCP传输的应用程序和协议包括:
FTP
Telnet
SMTP
使用UDP传输的应用程序和协议包括:
RIP
TFTP
SNMP