我有 TP-Link 路由器,我想嗅探通过路由器的所有数据包。我现在正在使用 Wireshark,但无法获取通过路由器的数据包。
到目前为止我已经尝试过:
1) 如果我在笔记本电脑上创建热点,并将其他设备连接到笔记本电脑的热点,那么我就能看到通过 PC 的数据包。但这并不是我所需要的全部。
2) 我买了一根 LAN 电缆,一端连接到我的 PC 端口,另一端连接到路由器的 LAN 端口。我在 wireshark 中选择了 LAN Traffic,但我仍然无法访问通过路由器的数据包。
3)我可以强制所有网站在自己的网络上以 http 而不是 https 运行吗?
还有其他方法可以做到这一点吗?
谢谢你!
答案1
请记住:如今,所有带有多个端口的设备都配有交换机。因此,您只能通过 DNS 投毒或 ARP 欺骗将流量重定向到您的计算机。
不,你不能强迫网站只使用 HTTP。首先,如今的主要网站甚至不通过 HTTP 提供任何服务,除了重定向到 HTTPS。其次,HSTS 标头阻止浏览器通过 HTTP 访问它们,并且 HTTPS-only 标志在第一次访问时设置,因此它可能已经在 Google、Facebook、Twitter 等的每台机器上设置。基本上,嗅探这些网站流量的一种方法是使用 mitmproxy 之类的解决方案。
我不知道您是否想走那么远,但我曾多次在 TP-Links 上用 OpenWRT 替换出厂固件(此时我正在通过这种重新刷新的 OpenWRT @ TL-WDR3600 访问互联网)。有 tcpdump 包,因此任务非常简单 - 使用 tcpdump -w 写入文件,然后通过 scp 从路由器获取该文件,并在 PC 上使用 Wireshark 对其进行分析。
毕竟 OpenWRT 功能如此丰富,所以即使失去保修对我来说也不是什么问题。我也尝试了 DD-WRT,虽然不如 OpenWRT,但它们仍然比原始固件好得多。
答案2
您需要将路由器设置为将所有流量(如果路由器支持)镜像到您连接 PC 的端口。
或者,您可以尝试使用 ARP 欺骗进行 MIM 攻击,以强制流量通过您的计算机(仅在您自己的网络上执行此操作)。
有些网站只允许 https 连接。您可以在网络上设置代理来监控 http 流量。