网站开发建设合同模板,桂林网站制作推荐,wordpress还原旧版本,网站建设费算什么费用在 Linux 系统中使用 Tcpdump 抓包后分析数据包不是很方便。
通常 Wireshark 比 tcpdump 更容易分析应用层协议。
一般的做法是在远程主机上先使用 tcpdump 抓取数据并写入文件#xff0c;然后再将文件拷贝到本地工作站上用 Wireshark 分析。
还有一种更高效的方法#xf…在 Linux 系统中使用 Tcpdump 抓包后分析数据包不是很方便。
通常 Wireshark 比 tcpdump 更容易分析应用层协议。
一般的做法是在远程主机上先使用 tcpdump 抓取数据并写入文件然后再将文件拷贝到本地工作站上用 Wireshark 分析。
还有一种更高效的方法可以通过 ssh 连接将抓取到的数据实时发送给 Wireshark 进行分析。 经过我的测试已经实现把 Tcpdump 抓到的数据包转到 Windows 环境中用 Wireshark 打开。
方式1数据包文件的拷贝
思路Tcpdump 抓包并保存包数据文件再把保存的包数据文件拷贝到 Windows 中最后使用 Windows 上安装的 Wireshark 打开包数据文件。
使用工具Xshell 使用 Xshell 连接远程主机 Xftp 把远程主机上的包数据拷贝到本地
使用 Xshell 和 Xftp 连接远程主机的过程省略……
假设你已经很熟悉在 Linux 环境下使用 tcpdump 命令和在 Windows 环境下使用 wireshark 基础操作了。
tcpdump 官方文档
tcpdump(1) man page | TCPDUMP LIBPCAP
比如我要在远程主机上抓取 eth0 网卡的 20 条 tcp 数据包并保存为 test.pcap 文件
tcpdump -i eth0 -c 20 tcp -w test.pcap上面的命令我是 cd 进入 /usr/local/tcpdump 目录下执行的。
所以我用 Xftp工具打开此目录后就看到生成的包文件 test.pcap 用 Xftp 工具把 Linux 中的文件 test.pcap 下载到 Windows 中 接下来使用 Wireshark 打开 test.pcap 包文件此时即可分析抓到的 20 条 tcp 数据包 方式2通过 ssh 连接远程主机将 tcpdump 抓取到的数据包实时发送给 Wireshark 进行分析
思路Windows 环境中使用 ssh 命令实现远程主机登录登录后用 tcpdump 命令抓包并把数据包设置标准输出运行 wireshark 程序从标准输入读取包数据。
工具cmd 控制台 Wireshark
1.右击 wireshark 进入到安装目录在目录栏输入cmd 然后回车进入 cmd 控制台。 2.准备命令
2.1 先在打开的 cmd 控制台中测试这条命令ssh rootxxx.xxx.xxx.xxx -p 22 ssh 命令用于通过 SSH 协议连接到远程主机实现远程登录和执行命令它加密会话中的所有通信确保数据传输的安全性。
ssh rootxxx.xxx.xxx.xxx -p 22
参数说明
[root]xxx.xxx.xxx.xxx要连接的远程主机的用户名和主机名。-p 22指定连接到远程主机的端口号。
根据提示输入远程主机的密码登录远程主机 2.2 登录成功后在远程主机抓取 eth0 网卡的 20 条 tcp 数据包的命令
tcpdump -i eth0 -c 20 tcp 通过以上两步可以知道目前和远程主机是建立连接的。
2.3 Wireshark 命令
在 wireshark 官网找到文档选择自己需要的命令
线鲨1 (wireshark.org)https://www.wireshark.org/docs/man-pages/wireshark.html比如我后续会新打开 wireshark 安装目录进入 cmd 控制台输入 Wireshark.exe -k -i -
命令拆分说明
1Wireshark.exe可以看看你的安装目录是不是这个名称在 cmd 控制台启动 wireshark 应用程序 2-k -i -
官网文档中说-k 是立即捕获会话-i - 表示从标准输入读取数据。 如果在 cmd 控制台执行命令Wireshark.exe -k -i -
命令则会打开 Windows 中安装的 wireshark 程序并开始监听-i - 从标准输入读取数据。 3. 把刚才的命令组合起来
命令组合初期的样子
ssh rootxxx.xxx.xxx.xxx -p 22 tcpdump -i eth0 -c 20 tcp Wireshark.exe -k -i -
看起来是这个样子但现在有个问题是“抓包的数据怎么传送”所以组合后的命令还不完整接下来对 tcpdump 的抓包命令进行改进。查看 tcpdump 官方文档。 通过文档可以知道 -l -w - 对我接下来有用。
比如抓取 eth0 网卡的 20 条 tcp 数据包输出到标准输出。
命令是tcpdump -i etho -c 20 tcp -l -w - 回头看刚才的 “Wireshark.exe -k -i -”是从标准输入读取数据那么现在“tcpdump -i etho -c 20 -l -w -”是输出到标准输出再结合 ssh 命令则可以实现远程 输出包数据 读取包数据
4. ssh tcpdump wireshark
新打开一个wireshark安装目录的 cmd 控制台输入命令
ssh rootxxx.xxx.xxx.xxx -p 22 tcpdump -i eth0 -c 20 tcp -l -w - | Wireshark.exe -k -i -
接着 cmd 控制台会提示让输入登录远程主机的密码同时 Wireshark 程序启动。 输入密码后回车远程连接主机成功然后执行 tcpdump 抓包同时包数据在 wireshark 程序中呈现。 方式3在远程主机打开本地的 wireshark 软件
方式3参考下面的博客但是没有成功。
因为方式一和方式二已经够用了所以后续在测试方式三……
参考Linux下使用Wireshark抓包教程_wireshark linux-CSDN博客