利用Wireshark和tcpdump对整个局域网进行实时抓包

利用Wireshark和tcpdump对整个局域网进行实时抓包

1. 前言​ 有时我们需要对局域网中两个设备之间的通讯进行抓包调试,一种比较方便的方式就是在路由器上通过tcpdump抓包,然后传回电脑上,利用Wireshark查看抓包内容。

​ 本文将以一个OpenWrt路由器为例,展示抓包过程。

​ 参考文章:使用 tcpdump 和 Wireshark 进行远程实时抓包分析 - This Cute World

2. 软件安装2.1. PC上安装Wireshark​ 官网下载安装包然后安装即可,安装时,一定要勾选:

2.2. 路由器上需要有tcpdump​ 我是在路由器固件编译时就编译了tcpdump和libcap。选择为<*>号是随固件一起编译,选择为是作为包进行编译。-*-表示强制随固件一起编译,因为有其他包依赖它,所以它必须选中。

​ Network —> tcpdump

​ Libraries —> libcap:

​ 如果你不是自己编译的固件,也可以网上下载别人编译好的ipk传到OpenWrt上安装即可:

在路由器上进行测试:

tcpdump --help

3. 利用Wireshark调用路由器上的tcpdump进行抓包(1)打开Wireshark,选择捕获——选项:

(2)选择SSH remote capture,点击开始

(3)输入路由器的ip地址和ssh端口号(默认22)

(4)输入路由器用户名和密码/密钥

我这里用的是密钥而非密码,请参考:最简洁清爽的ssh使用方案 | 一苇万顷 (jayant-tang.github.io)。

你也可以用密码

(5)tcpdump设置

参数设置:

Remote Interface:路由器上要抓包的接口,可以在路由器管理网页上查看,也可以用ifconfig查看,这里是br-lan

Remote capture command selection:路由器上选择的抓包工具,这里是tcpdump

Remote capture filter:远程抓包的规则,可以把本机的IP地址填进去过滤,防止Wireshark抓自己和路由器之间的ssh包。比如not (host 192.168.2.2 and port 22)。这里可以用not,or和and逻辑,可以过滤IPv4/IPv6地址和端口号。

这个地方是远程过滤器,是抓包时就过滤,后面Wireshark里面还可以再次设置本地过滤器。

(6)开始抓包

最后点击开始,即可在Wireshark中看到路由器br-lan的包了。

​ 与此同时,我们可以去路由器上看看Wireshark是怎么用tcpdump抓的:

$ root@OpenWrt:~# ps | grep tcpdump 2131 root 5676 S tcpdump -U -i br-lan -w - not (host 192.168.2.2 and port 22) 8318 root 1248 S grep tcpdump

​ 如上,可以看到Wireshark调用的tcpdump命令以及参数。

相关推荐

微信分享链接怎么弄?微信链接如何生成二维码详解
分期乐审核多久出结果?分期乐借款一直在审核中是什么原因?
WDS是什么?全面解析WDS的定义、功能及应用场景
日博365投注

WDS是什么?全面解析WDS的定义、功能及应用场景

📅 07-28 👁️ 9078
开发者反思:安卓APP五大乱象
365bet赌场手机投注

开发者反思:安卓APP五大乱象

📅 06-28 👁️ 9714
DNF:从卢克到奥兹玛的Raid设计居然还有这样的东西
365bet赌场手机投注

DNF:从卢克到奥兹玛的Raid设计居然还有这样的东西

📅 07-03 👁️ 6307
tiamo是什么意思翻译,我爱你(意大利语IO TI AMO)
日博365投注

tiamo是什么意思翻译,我爱你(意大利语IO TI AMO)

📅 07-11 👁️ 1242
工银e安全怎么绑卡 工银融e联怎么绑银行卡
365bet赌场手机投注

工银e安全怎么绑卡 工银融e联怎么绑银行卡

📅 07-19 👁️ 1536
在未来的五年,留住员工将成为HR工作的重点……
dnf师徒等级 DNF徒弟出师要多久
365bet赌场手机投注

dnf师徒等级 DNF徒弟出师要多久

📅 07-08 👁️ 9358