1.关起始环境
设备对接第三方的平台,平台能够连接上,但是相关平台功能异常。为了定位问题点,想通过抓取网络数据包进行数据分析,看看问题点在哪。(其实抓包有两个方案,一个是让平台侧直接在服务器抓取,一个是设备端进行抓包数据获取,估计是平台侧比较强硬,所以没法让平台抓)(还有个问题如果哪个大佬指导帮忙指导下,因为对网络部分没啥研究,盼望指导。那就是将一台运行wireshark的电脑、设备、服务器,连接到一台交换机上,如果设别与服务器建立TCP连接,理论上在wireshark上是不是能看见设备与服务器的通讯数据包?)
2.实际实施环境
实际方案:是通过在设备上运行 tcpdump 将设备与外网的通讯数据形成打印日志,然后分析该日志。
采用指令: ./tcpdum工具名 -i eth0 -s 0 -w ipcdump.pcap
该输出文件:ipcdump.pcap 可以使用wireshark打开。
3.实施过程中遇到的问题
(1)在实施过程中发现tcpdum工具本身不是我们设备文件中自带的工具,所以需要将工具添加到设备中。
(2)由于我们公司设别保密措施比较严格,设备有加密及权限的设置要求,所以tcpdum工具要想在我们公司设别上运行需要先在公司端进行加签处理。
(3)最头疼的问题是,我们设备的存储空间没有想象的那么大,如果在运行tcpdum工具+存储日志结果,设备心有余而力不足。
(4)设备本身是嵌入式设备,没有集成yum、apt等软件管理工具,也没有开放运行时的软件安装权限。
针对以上的几个问题,我们最终优化方案是:将tcpdum工具放在一台win10笔记本上,然后通过在设备端挂载这个工具所在的文件,进行工具的使用。而挂载的方式受限于设备本身能力和工具的集成,我们选择了NFS的方式挂载。
4.实施
实施主要就是在win10电脑上,安装NFS服务器软件,解决NFS服务器软件运行带来的问题。
(1)hanewin安装
Networking Software for Windows
上面的链接就是window下的NFS服务器安装软件的地址,当然这个是正版的官方的,你懂的30天免费,后面要激活。如果你想一直用,自己想办法。
注意一点,使用NFS Service这个,别搞错了。
从上到下依次是:安装包,应用程序,类似手册的地方(没研究过)、语言包(用于汉化及其他语言显示的)
我是用的是应用程序,也就是第二个选项510K的那个,选择后下载了一个压缩包
名称为"nfs1265",解压后如下:
这个文件,解压后就是不需要安装就可以使用的双击 “nfssrv-64”就能够开启软件
(2)hanewin中文化
选择(1)中说的语言包的地方,也是单击下载文件,下了一个名称为
nfs-languages的压缩文件,解压后如下
将该文件中的所有文件,复制到
应用软件的languages文件夹内,然后双击“nfssrv-64”开启软件
然后单击确定就能变成中文了
(3)hanewin共享文件设置
在C盘新建文件夹名称为public,然后将下载的Tcpdump工具放到该文件夹,然后将public进行文件共享
在打开的hanewin软件
在空白的地方,鼠标右键,分别是三个选项,插入、编辑、删除,对应的就是需要NFS服务器对外同步的需要共享的文件的路径,这里选插入
这里注意option中的选项
-exec -maproot:0 -alldirs -public
其中的-maproot:0的这个,默认是没有:0这个参数的,注意,这个不按照这个参数来,可能会发现挂载后的文件系统无法进行文件写入的操作
(4)设备挂载共享文件
将设备,与装有hanewin的电脑放置在同一局域网下,在设备端
mount -t nfs -o nolock,tcp 电脑的IP地址:/c/public /home
就能将电脑c盘的public挂载到设备/home目录下。
(5)运行Tcpdump
5.核心问题及解决方法
1.在使用时无法挂载文件,提示NFS权限拒绝,我没怎么操作,就是把电脑的杀毒软件关了,然后把系统的防火墙全部关掉,然后运行了解压文件夹中的firewall脚本,再次执行挂载指令就好了
2.在挂载后运行Tcpdump,发现无法执行,然后按照这个配置共享文件就好了,就能执行了
3.执行Tcpdump后发现,执行产物无法保存到public目录,我就百度查了一下
这里注意option中的选项
-exec -maproot:0 -alldirs -public
按照这个参数配置就有了完全的读写权限,感兴趣的朋友可以去了解一下为什么,我们互相探讨下。