『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 14576|回复: 6

[经验分享] 利用Wireshark+tcpdump抓任意设备的流量

[复制链接]

2

主题

29

帖子

202

积分

论坛技术达人

积分
202
金钱
168
HASS币
20
发表于 2019-12-28 17:33:45 | 显示全部楼层 |阅读模式
本帖最后由 ttimasdf 于 2019-12-28 17:38 编辑

初来乍到,分享一些个人的经验~简单搜了一下没有人提,就开个帖子说一下

目的:
利用ssh连接到路由器上运行tcpdump,并通过管道将流量实时传输回电脑,这样常用的协议直接就能解析出来啦。


前提:
系统:最好是Linux/Mac,因为管道pipe是POSIX标准中的概念,Windows需要用putty带的plink命令行工具进行流量转发,我没试过但看到过教程

路由器:支持ssh,可以用opkg安装tcpdump,或者能丢一个编译好的tcpdump进去运行。咱们论坛的应该都会折腾这些
设备:肯定是抓Wi-Fi连接的设备啦。


步骤:

1. 路由器安装好tcpdump。

如果是OpenWRT的话,opkg install tcpdump-mini 即可,mini功能不少什么,占用空间大概几百k吧。
如果是其他自定义固件的话,我相信你们会用谷歌搜 tcpdump static binary

2. 电脑上命令行启动ssh、tcpdump与wireshark。

mac用homebrew或者linux用包管理器(如apt)等方式自动安装的话,wireshark应该直接在系统的PATH里了。如果没有的话,运行命令行时,可能需要将wireshark替换为绝对路径。

ssh <路由器IP> tcpdump -i <路由器LAN网卡> -s65535 -Uw- 'host <设备IP或内网域名>' | wireshark -ki-

实际的例子,抓包目标设备是青萍空气检测仪。

运行起来以后,如果一切正常,会显示出类似下面的消息,listening on br-lan,这种。
$ ssh openwrt.lan tcpdump -i br-lan -s65535 -Uw- 'host ClearGrass-AirMonitor.lan' | wireshark -ki-
tcpdump: listening on br-lan, link-type EN10MB (Ethernet), capture size 65535 bytes


然后wireshark窗口会弹出来。

3. 然后看就完事了。比如青萍检测仪是MQTT的消息。 参考 https://bbs.hassbian.com/thread-6290-1-1.html

屏幕快照 2019-12-28 下午5.32.37.png

再例如,水星摄像头的控制是80端口的HTTP。有的大佬(https://bbs.hassbian.com/thread-7752-1-1.html)说,需要对iOS进行复杂的设置然后抓包,其实大可不必。

ssh openwrt.lan tcpdump -i br-lan -s65535 -Uw- 'host ipc.lan and port 80' | wireshark -ki-

注意,我在tcpdump的bpf filter这里加了一个 and port 80 ,因为rtsp的视频流数据实在是太多了,不做预处理,会让wireshark变卡的。

屏幕快照 2019-12-28 下午5.37.10.png

结语:

这种分析方式基本对所有Wi-Fi设备是通杀的。路由器设置好,剩下的步骤就都很方便了。

评分

参与人数 1金钱 +20 收起 理由
+ 20 很好很强大,不过tcpdump数据挺难看懂。。.

查看全部评分

回复

使用道具 举报

2

主题

29

帖子

202

积分

论坛技术达人

积分
202
金钱
168
HASS币
20
 楼主| 发表于 2021-4-16 17:49:44 | 显示全部楼层
更新一下windows 下的操作。其实用 cmd 就可以实现远程捕获。不过一定要用 cmd ,不能用 powershell ,因为powershell的管道只能输出 object 和 string,二进制流会被强制类型转换,然后数据就乱码了。

cmd /c 'ssh 192.168.1.1 "tcpdump -i br-lan -s 0 -w - -U host 192.168.1.123" | "%PROGRAMFILES%\Wireshark\Wireshark.exe" -k -i -'
回复

使用道具 举报

34

主题

709

帖子

4693

积分

论坛元老

Rank: 8Rank: 8

积分
4693
金钱
3974
HASS币
50
发表于 2019-12-28 20:26:25 | 显示全部楼层
不错不错。。。。。。。。。。。。。。
回复

使用道具 举报

17

主题

357

帖子

2084

积分

论坛DIY达人

积分
2084
金钱
1717
HASS币
40
发表于 2019-12-29 15:14:05 | 显示全部楼层
学习了。感谢分享
回复

使用道具 举报

40

主题

2176

帖子

8290

积分

元老级技术达人

积分
8290
金钱
6099
HASS币
110
发表于 2019-12-30 09:06:54 | 显示全部楼层
tcpdump这个当初搞了好久....不过我好像抓不到什么有用的东西
回复

使用道具 举报

2

主题

29

帖子

202

积分

论坛技术达人

积分
202
金钱
168
HASS币
20
 楼主| 发表于 2019-12-30 10:17:10 | 显示全部楼层
ghostist 发表于 2019-12-30 09:06
tcpdump这个当初搞了好久....不过我好像抓不到什么有用的东西

我从来不看裸的tcpdump……信息量太小了。用Wireshark的话,还可以在“统计”那个菜单里按端口或者会话排个序,基本一眼就能筛出来哪些通信可能有用,
回复

使用道具 举报

40

主题

2176

帖子

8290

积分

元老级技术达人

积分
8290
金钱
6099
HASS币
110
发表于 2019-12-30 10:32:24 | 显示全部楼层
ttimasdf 发表于 2019-12-30 10:17
我从来不看裸的tcpdump……信息量太小了。用Wireshark的话,还可以在“统计”那个菜单里按端口或者会话排 ...

不是 我是抓到的包本身就很少  感觉还是热点给到设备再抓容易抓到  同网设备少
(也可能是我操作的不对)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 02:18 , Processed in 0.145756 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表