简介
项目引入了炫酷的ue像素流模拟现场的孪生场景,但是为了安全性考虑,对像素流使用到的tcp端口和udp端口进行了严格的控制,响应国家护网行动,部分像素流服务器未能达到安全标准,导致无法进行互联网访问,采用vpn访问的方式出现了一些问题,为了能更好的定位到像素流出不来的问题,协助运维搞好网络环境,研究了下抓包工具以及一些常见的运维指令
抓包工具
wireshark
是什么
是一款使用广泛的开源抓包软件,可以用来检测网络问题,可以直接与网卡进行报文交换 抓包原理
- 单击情况---- wireshark直接抓取本机网卡流量
- 交换机情况--- 通过端口镜像,ARP欺骗等方式获取局域网中的网络流量
抓包
选择网卡
打开wireshark后,会出现网卡选择界面,我电脑连接的是wifi,所以这边要选择wlan来抓包,其实只要看看那个连接有数据波动,双击选择对应的那个连接就可以开始抓包了
停止抓包
下面是抓到的一些数据信息展示页面,中间展示的是时间,源地址,目标地址,端口以及一些连接等的数据信息,可以手动增加一些列,点击具体的某一条数据,可以在左下角展示具体信息,从上到下分别为物理层,数据链路层,网络层,传输层各层协议的信息
过滤数据包
也可以输入一些过滤条件来过滤掉不需要的包,毕竟抓取到的包太多了,例如可以通过过滤ip,端口,协议等等信息获取到对应的数据包
1.使用端口过滤: tcp.port ==52331
2. 使用IP地址过滤:ip.src==114.114.114.114
通过windows命令行获取到像素流服务器的统一外网地址为114.114.114.114,找到一条显示从59.200到114.114的服务显示端口不可用,查了一下这个icmp协议,是一种网络协议,用于在IP网络中传输错误消息,主要用于网络设备间的通信,显示端口不可到达,这样我们就知道了是访问了没有权限的端口导致的
FAQ
wireshark抓取到的包内容非常丰富,网络具体细节数据也很多,但是上面抓取到的内容只能让我们知道是端口有问题,具体是什么端口号,是tcp还是ucp端口有问题,没有抓取到,于是又尝试了另一个使用广泛的抓包工具
charles
charles抓包
charles抓包非常简单,启动charles后会自动与浏览器设置成代理,不需要进行过多的设置。charles还经常被用来抓取手机端的数据包
当我打开像素流页面并点击展示像素流时,会抓取到如下的包,发现使用了一个tcp 64426的端口来向服务器请求数据
来到200服务器上,【任务管理器】--【服务】,发现当客户端进行像素流连接的时候,会多出这样一个shipping.exe的服务,根据对应的pid用命令行 netstat -ano|findstr查到,它所占用的端口刚好是64426,说明这个随机端口就是我们起的这个像素流产生的,合理使用抓包工具自己就可以迅速定位到随机端口,不用一遍一遍找运维确认端口
filter过滤数据包
还可以通过下面的filter填入一些关键字来过滤掉不需要的数据包
结语
解决网络问题,配合抓包工具使用的同时,常见的命令也需要了解一点,例如
- netstat -ano|findstr 9003 根据pid查找占用的
- nslookup www.XXX.com 解析某个域名对应的内外网ip地址
- telnet ip port 是否可以正常访问某些端口