用wireshark+tcpdump+ssh远程抓包并实时显示
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
用wireshark+tcpdump+ssh远程抓包并实时显示
我们平时用的抓包工具一般就是wireshark或tcpdump,前者有图形界面,当我们要远程登录到Linux主机抓包时,一般就只能选择tcpdump,并保存为文件,再拉到本地用wireshark打开。
很多时候这样就够了,但是如果希望实时显示远程主机上抓到的包,用tcpdump -X看起来会很痛苦,而想在远程主机上用X跑wireshark的图形界面是件让人抓狂的事情。
有没办法让tcpdump远程抓包,再将数据实时传送到本地,再用wireshark图形化界面实时打开?
有办法!用ssh当通道来干这事儿。
准备工作
- 本地PC机上得有命令行版的ssh,图形化的SecureCRT应该不行
- 本地PC机上有wireshark
- 远程主机上有tcpdump
- 你有远程主机的root权限(否则你也抓不了包啊)
- 找到本地PC机上ssh和wireshark的路径(或者加入PATH,用于执行命令)
工作思路
基本的想法就是用ssh登录到远程主机上,发起tcpdump抓包,并将tcpdump抓到的结果输出到stdout,再传回本地PC机,而本地PC机上的wireshark以stdin为输入,两者以管道连接传输。
命令示例
ssh root@some.host 'tcpdump -i eth0 port 80 -s 0 -l -w -' | wireshark -k -i -
命令执行后会弹出wireshark界面,这时需要切回刚刚的命令行,因为需要输入密码以登录远程主机(已经配置免密另说),连接成功后即开始抓包,并在本地PC的wireshark上实时显示抓包结果。
参数解释
tcpdump中 ‘-l ’ (这里是小写的字母L)是指line-buffer,即不使用缓存,直接输出,否则就会一段段的输出。’-w -'是指写文件,目标文件为标准输出。至于tcpdump另外的参数,想抓什么端口,这个请搜下度娘,一搜一大把。
wireshark中 ‘-k’ 是指马上开始捕获数据,’-i -’ 是指从指定接口获取,源为标准输入。
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献1条内容
所有评论(0)