① 怎么知道UDP用户数据报是从客户发给服务器的和服务器程序是TFTP
呵呵,UDP首部格式如下: (具体看TCP/IP详解第11章)
2字节源端口;2字节目的端口;2字节UDP长度(数据部分长度+首部长度);2字节校验和
00 1C 代表UDP长度为十进制的28
所以数据部分的长度为:28-8=20,这里的8代表UDP首部长度
② 如何测试udp端口是否正常
测试udp 服务的端口是否可用 d 服务上,就会报错, 因为telnet 走的是tcp 协议, 比如说192.168.80.131 在8888 端口上上启了个udp 的服务,这是使用telnet 192.168.80.131 8888,就会报如下错误:Trying 192.168.80.131... telnet: connect to address 192 .168.80.131: Connection refused 此时, 可以使用nc 这个工具, 大多数的发行版都自带这个工具, fedora 9 的/usr/bin/nc 所属的安装包是 nc-1.84-16.fc9.i386nc -l -u 192.168.80.129 8001 使用命令nc -u 192.168.80.129 8001, 在这里输入字符串, 服务端就会回显相同的字符串,表示8001 端口上的udp 服务是否启用.suse 上的是用netcat, 方法基本上差不多:netcat -l -u -p 8001 这样就可以在0.0.0.0 上侦听udp 的8001 端口从另外一台机器,或者打开本机的另外一个虚拟终端, 输入:netcat -u 192.168.1.123 8001 在这里输入字符串, 就会回显一个相同的字符串,表示链接是OK 的