UDP协议抓包实验报告(网络协议抓包分析实验报告)
【UDP】通过udp抓包排查网络问题
pinpointServer: 192.168.1.110
环境应用节点,分布在两个网段:192.168.1.x? ? 192.168.2.x
环境中应用节点的pinpoint agent通过向服务端 9999/tcp 上报节点信息,通过 向服务端 9995/udp? 9996/udp 上报其他监控数据。
192.168.1.x 网段的应用节点,pinpoint节点、监控数据上报正常;
192.168.2.x 网段应用节点,pinpoint节点数据上报正常,但是没有监控数据的上报。
192.168.2.x 网段应用节点任选一些微服务,查看pinpointAgent 启动日志,都没有报错。
初步判断是 192.168.2.x 网段的 pinpoint agent 跟pinpoint server? udp 端口通讯有问题。
pinpointServer ? ? ? ? ? ? ? ? ? 192.168.1.110
任选一个pinpointAgent ? ? ? 192.168.2.11
# tcpdump -i eth0? -nn -vv -X? udp port? 9995? and? src? host? 192.168
# tcpdump -i eth0? -nn -vv -X? udp port? 9995? and? src? host? 192.168.2.11
$ sudo yum -y install? nc
$ echo "HelloWorld" |? nc? -4u? 192.168.1.110? 9995
$ echo "HelloWorld!" |? nc? -4u? 192.168.1.110? 9996
多次发送udp报文,并在192.168.1.110 上观察tcpdump的输出。
正常来自 192.168.1.x 网段udp数据报
# tcpdump -i eth0? -nn -vv -X? udp port? 9995
# tcpdump -i eth0? -nn -vv -X? udp port? 9995? and? src? host? 192.168.1.115
至此,基本可以判断是192.168.2.x 网段的 pinpoint agent 跟pinpointServer? udp 端口通讯有问题。
因udp是面向无连接的,没有确认机制,对发送端而言,发送成功与否并不能直接知晓,我们没法用 telnet 或者 echo 测探,那么只能使用一方发,一方收的方式验证了。
跟网络的同事反馈,得知问题出在路由器交换机上,放开对udp限制,就ok了!
How to check if UDP port on IP is open/avaible ?
怎么使用 tcpdump 抓包分析
抓包工具tcpdump用法说明
h ttps://blog.csdn.net/nanyun2010/article/details/23445223
关于 /dev/tcp/${HOST}/${PORT}
Linux上使用telnet测试目标端口连通性
wireshark 仅仅显示UDP命令
应该是你过滤规则的问题
建议改一下这个框里面填写的过滤规则
udp协议抓包
UDP协议跟TCP协议一样也有很多端口号以区分不同的应用,oicp是udp的其中一种应用。
如何用wireshark对udp进行抓包
启动wireshark后,选择工具栏中的快捷键(红色标记的按钮)即可Start a new live capture。 主界面上也有一个interface list(如下图红色标记1),列出了系统中安装的网卡,选择其中一个可以接收数据的的网卡也可以开始抓包。 在启动时候也许会遇到这样的问题:弹出一个对话框说 NPF driver 没有启动,无法抓包。在win7或Vista下找到C: \system\system32下的cmd.exe 以管理员身份运行,然后输入 net start npf,启动NPf服务。 重新启动wireshark就可以抓包了。 抓包之前也可以做一些设置,如上红色图标记2,点击后进入设置对话框,具体设置如下: Interface:指定在哪个接口(网卡)上抓包(系统会自动选择一块网卡)。 Limit each packet:限制每个包的大小,缺省情况不限制。 Capture packets in promiscuous mode:是否打开混杂模式。如果打开,抓 取所有的数据包。一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。 Filter:过滤器。只抓取满足过滤规则的包。 File:可输入文件名称将抓到的包写到指定的文件中。 Use ring buffer: 是否使用循环缓冲。缺省情况下不使用,即一直抓包。循环缓冲只有在写文件的时候才有效。如果使用了循环缓冲,还需要设置文件的数目,文件多大时回卷。 Update list of packets in real time:如果复选框被选中,可以使每个数据包在被截获时就实时显示出来,而不是在嗅探过程结束之后才显示所有截获的数据包。 单击“OK”按钮开始抓包,系统显示出接收的不同数据包的统计信息,单击“Stop”按钮停止抓包后,所抓包的分析结果显示在面板中,如下图所示: 为了使抓取的包更有针对性,在抓包之前,开启了QQ的视频聊天,因为QQ视频所使用的是UDP协议,所以抓取的包大部分是采用UDP协议的包。 3、对抓包结果的说明 wireshark的抓包结果整个窗口被分成三部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。 使用wireshark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。 上图的数据包列表中,第一列是编号(如第1个包),第二列是截取时间(0.000000),第三列source是源地址(115.155.39.93),第四列destination是目的地址(115.155.39.112),第五列protocol是这个包使用的协议(这里是UDP协议),第六列info是一些其它的信息,包括源端口号和目的端口号(源端口:58459,目的端口:54062)。 中间的是协议树,如下图: 通过此协议树可以得到被截获数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet protocol)、UDP端口号(user datagram protocol)以及UDP协议的具体内容(data)。 最下面是以十六进制显示的数据包的具体内容,如图: 这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便的对各种协议的数据包进行分析。 4、验证网络字节序 网络上的数据流是字节流,对于一个多字节数值(比如十进制1014 = 0x03 f6),在进行网络传输的时候,先传递哪个字节,即先传递高位“03”还是先传递低位“f6”。 也就是说,当接收端收到第一个字节的时候,它是将这个字节作为高位还是低位来处理。 下面通过截图具体说明: 最下面是物理媒体上传输的字节流的最终形式,都是16进制表示,发送时按顺序先发送00 23 54 c3 …00 03 f6 …接收时也按此顺序接收字节。 选中total length:1014, 它的十六进制表示是0x03f6, 从下面的蓝色选中区域可以看到,03在前面,f6在后面,即高字节数据在低地址,低字节数据在高地址(图中地址从上到下从左到右依次递增),所以可知,网络字节序采用的是大端模式。