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挂载到windows windows10 nfs挂载_网络

注意一点,使用NFS Service这个,别搞错了。

 

nfs挂载到windows windows10 nfs挂载_服务器_02

从上到下依次是:安装包,应用程序,类似手册的地方(没研究过)、语言包(用于汉化及其他语言显示的) 

        我是用的是应用程序,也就是第二个选项510K的那个,选择后下载了一个压缩包

        名称为"nfs1265",解压后如下:

nfs挂载到windows windows10 nfs挂载_共享文件_03

 这个文件,解压后就是不需要安装就可以使用的双击 “nfssrv-64”就能够开启软件

(2)hanewin中文化

        选择(1)中说的语言包的地方,也是单击下载文件,下了一个名称为

nfs-languages的压缩文件,解压后如下

        

nfs挂载到windows windows10 nfs挂载_linux_04

将该文件中的所有文件,复制到

nfs挂载到windows windows10 nfs挂载_共享文件_05

 

 应用软件的languages文件夹内,然后双击“nfssrv-64”开启软件

nfs挂载到windows windows10 nfs挂载_nfs挂载到windows_06

 

nfs挂载到windows windows10 nfs挂载_linux_07

然后单击确定就能变成中文了 

(3)hanewin共享文件设置

        在C盘新建文件夹名称为public,然后将下载的Tcpdump工具放到该文件夹,然后将public进行文件共享

        

nfs挂载到windows windows10 nfs挂载_linux_08

 在打开的hanewin软件

nfs挂载到windows windows10 nfs挂载_共享文件_09

 在空白的地方,鼠标右键,分别是三个选项,插入、编辑、删除,对应的就是需要NFS服务器对外同步的需要共享的文件的路径,这里选插入

nfs挂载到windows windows10 nfs挂载_共享文件_10

 这里注意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脚本,再次执行挂载指令就好了

nfs挂载到windows windows10 nfs挂载_网络_11

2.在挂载后运行Tcpdump,发现无法执行,然后按照这个配置共享文件就好了,就能执行了

 

nfs挂载到windows windows10 nfs挂载_共享文件_10

3.执行Tcpdump后发现,执行产物无法保存到public目录,我就百度查了一下

这里注意option中的选项

         -exec -maproot:0 -alldirs -public 

按照这个参数配置就有了完全的读写权限,感兴趣的朋友可以去了解一下为什么,我们互相探讨下。