引言
以前在不了解wireshark
可以远程抓包的时间,经常通过tcpdump
在远程linux
主机将抓包文件保存下来后,然后拖拽入windows
中再打开,进行分析查看。
此过程比较繁琐,也不够实时。比较常用的抓包动作是仅出现某特征的报文后,我们才需要将文件保存下来,此操作方法就比较折腾了!
但实际上,wireshark
可以通过自身组件sshdump
,或其它工具的辅助,例如,MobaXterm
,支持对远程主机进行实时、在线抓包和过滤。
两种简单的方法
- 通过
wireshark sshdump
组件支持ssh
远程登录linux
主机后进行实时在线抓包
- 此组件默认不安装,需要在安装过程中对于
Tools
组件中sshdump
进行特殊勾选sshdump
默认会过滤掉非相关报文 ,比较智能
- 借助
MobaXterm
的本地客户端工具,通过SSH远程命令和管道操作进行远程抓包
cd /drives/c/"Program Files"/Wireshark
ssh root@192.168.8.146 'tcpdump -i enp0s3 ! host 192.168.9.37 -s 0 -l -w -' | ./wireshark -k -i -
方法手工步骤过多,但已算是较为简单的方法
其它借助ncat
更复杂的远程操作方法,不在此赘述
如何配置sshdump组件
- 已安装wireshark
通过
Wireshark*.exe
程序重新安装wireshark,在Tools
组件选择中sshdump
特别勾选
- 未安装wireshark
下载新的
Wireshark*.exe
程序安装wireshark,在Tools
组件选择中sshdump
特别勾选
见图:
如何配置SSH Remote Capture
成功安装sshdump后的界面
主操作界面上会出现SSH remote capture
的选择项,见图:
配置ssh登录参数
点击SSH remote capture
标签的前的图标,可以对远程抓包的参数进行配置
Server端口配置
包括IP和Port,比较简单不赘述
认证配置
配置用户名和密码,建议通过非对称加密的公钥和私钥配置,进行免密登录。见图:
ssh免密登录配置
通过较为自动化ssh-copy-id
命令进行操作,减少手工出错概率,见链接最简SSH免密配置方法
Capture抓包配置
主要配置抓包网口,可以使用any关键词代表所有网卡,包括lo
环回接口。见图:
补充
sshdump的技术细节
在远程抓包时,在远程主机上通过
ps -ef |grep tcpdump
命令,
可以查看到在默认情况下sshdump
实际上也是借助tcpdump
进行抓
包,然后再通过管道和网络通路将抓包数据喂送给wireshark