嵌入式设备不像pc上,有一些专门的工具比如wareshark来抓包,嵌入式设备中,有的可能集成了tcpdump,可以用来进行简单的抓包,但是不方便分析,况且有的嵌入式设备不一定就集成了tcpdump工具。
关于tcpdump工具可参考:网络/命令行抓包工具tcpdump详解-CSDN博客
那么,我们有没有更好的办法来抓嵌入式设备的包呢?
如果嵌入式设备是通过网线连接到电脑上,我们就可以直接在电脑上通过wareshark抓对应网口的包。
如果嵌入式设备用的是wifi联网,此时,我们就需要借助网卡来抓包,具体怎么操作呢?
将网卡设置成ap模式(前提是网卡支持ap模式),比如,pc电脑上插入一个cisco网卡,然后开启热点
同时设置热点的名称和密码。
然后,将嵌入式设备连上该热点。
因为之后嵌入式设备的联网操作都会经过该网卡,所以,直接用wareshark就能抓到设备的包。而不用再去想着抓空包。一来抓空包麻烦,二来容易丢包,三来还要解密。
所以,这种方法可以作为嵌入式设备抓包的首选方法。
注意,
在电脑上开热点,需要电脑先有网,要么是有线网,要么是无线网,然后再开个热点;其中,如果没有有线网,而且只有一个网卡,那么这时候这个网卡就需要支持同时作为sta和ap使用的功能,让网卡先连上一个wifi,然后才能有热点,要不然,哪来的热点给你用。其实这时的电脑或者说网卡就是作为一个转发的中间代理商。
注意,
网卡作为ap时不需要开启监控模式。
注意,
网卡连接后,如果没有作为sta连接wifi,那么,就会处于已断开连接的状态
如果连接了wifi,才会有网络信息
其中,所连接的路由器的ip就是默认网关的ip。
这时,网卡处于sta模式。
当网卡作为ap开启热点时,会单独另外开启一个本地连接(编号不固定),如下所示:
这个本地连接,不显示网关,因为此时它自己就相当于是个路由器。
这种情况下,它既作为sta,又作为ap;
另外一种情况,如果网卡不连接wifi,只作为ap使用,此时,就需要电脑连网线,这时候,网卡只会作为ap被使用,而sta的功能会处于未连接的状态,如下所示:
理解这一点很重要,因为当网卡开启热点作为ap时,我们打开wareshark,会看到接口显示如下:
我们会想当然地去捕获WLAN4这个接口,如果你这么做了,你会发现就是捕获不了数据,永远都是空的,因为这个其实表示的是网卡的sta功能,这时网卡的sta功能是关闭的,肯定就无法捕获数据。另外,我们其实也能看到WLAN4这个接口上是没有流量显示的,所以是处于断开连接的状态。
我们是将网卡当做ap使用,这时候,应该捕获的其实是本地连接*14这个接口,我们通常会误以为这个不是无线接口,其实,是将无线映射成了本地接口导致的,这个,也就是我们想要的ap接口。