问题来源:
需要测试一个网关(包括机顶盒和路由器),网线直接连接电脑和待测机器。配置IP地址为192.168.1.100,保证IP地址与网线另一端网关IP地址192.168.1.1在同一个网段。
手头有发送的json报文数据段,直接用win7下的tcp通信助手发送总是失败,得不到正确的响应,后来才知道通信协议格式不对,缺少了帧头帧尾。但不知道到底加了什么,问厂家不是很清楚,手头能够正确测试的只有一个ubuntu下的可执行文件,在终端中可执行文件目录输入./factorytool 192.168.1.1 。然后体术输入factory command。输入后能得到对应的响应报文。
然后就想到用个什么工具监听一下tcp通信的收发报文,看看输入对应指令后到底打包成什么格式发出去的。
所以就找到了tcpdump工具,真的很方便,很实用,一下子解决了问题。
安装:sudo apt-get install tcpdump
然后ifconfig 指令查看虚拟机里面ubuntu的网卡名称ens3,地址是192.168.114.133。注意这里虚拟机下面重新映射的地址,不是win7下面设置的地址哦!.
接着打开两个终端,一个输入tcpdump -n -i ens33 src 192.168.114.133 and tcp -c 3 -n -nn -vv -X -s0 指令等待对应接口发送的数据
另一个终端输入factory command 。这样就抓取到了所有你想要看的数据了,棒棒哒!