Wireshark抓取本机报文

转载自:http://blog.youkuaiyun.com/jiayanhui2877/article/details/7247203

在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信。但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以。

      具体方法如下:

      ①:以管理员身份运行cmd

      ②:route add 本机ip mask 255.255.255.255 网关ip

      for example route add 192.168.1.103 mask 255.255.255.255 192.168.1.1 metric 1

     使用完毕后用 route delete 192.168.1.103 mask 255.255.255.255 192.168.1.1 metric 1删除,否则所有本机报文都经过网卡出去走一圈回来很耗性能

      此时再利用wireshark进行抓包便可以抓到本机自己同自己的通信包,这样配置的原因是将发往本机的包发送到网关,而此时wireshark可以捕获到网卡驱动的报文实现抓包。

<think>好的,用户想了解如何使用Wireshark和命令行工具抓取9000端口的报文。我需要先回忆一下Wireshark的基本用法以及相关命令行工具,比如tshark和tcpdump。首先,用户可能需要知道如何在图形界面中设置过滤条件,但特别提到了命令行工具,所以重点应该放在tshark和tcpdump上。 接下来,要确认端口号9000是TCP还是UDP,不过通常在过滤器中可以同时指定或分别处理。用户可能是在进行某种特定的网络调试,比如自定义服务或游戏服务器,所以需要明确如何正确过滤端口。 对于Wireshark部分,需要说明如何启动捕获,设置捕获过滤器为port 9000,或者显示过滤器。注意区分捕获过滤器和显示过滤器的不同语法,比如BPF格式和Wireshark自带的显示过滤器。用户可能会混淆这两者,需要明确指出。 然后是关于tshark的使用,作为Wireshark的命令行版本,tshark的命令行参数需要详细说明,比如指定接口、过滤条件、输出文件等。可能需要提醒用户使用-i参数指定网络接口,特别是如果服务器有多个网卡的情况下。 对于tcpdump部分,作为常用的命令行抓包工具,基本命令结构是tcpdump port 9000,但可能需要添加其他参数如-w保存文件,-v详细输出等。这里要确保用户知道如何安装tcpdump(比如在Linux上使用apt或yum),以及可能需要sudo权限。 另外,用户可能对实时监控和保存文件的需求不同,需要分别说明。比如使用-w保存为pcap文件后用Wireshark分析,或者直接实时查看。 还需要考虑用户的操作系统环境,比如是Windows还是Linux,因为tshark和tcpdump在Windows上的可用性不同。可能需要在回答中提到这些工具的安装方式,或者提供相应的下载链接。 最后,常见的应用场景,比如调试API、分析流量等,可以举例说明,帮助用户更好地理解何时使用这些方法。同时,提醒用户注意权限问题,可能需要管理员或root权限才能捕获网络数据包。 总结一下,回答的结构应该分为Wireshark GUI部分、tshark命令行部分、tcpdump部分,每部分给出具体命令和参数,并说明注意事项和常见用例。确保命令准确,语法正确,用户能直接复制使用。</think>以下是通过Wireshark及其命令行工具抓取9000端口报文的详细方法: 一、Wireshark图形界面操作 1. 启动Wireshark 2. 选择网卡接口(如eth0/wlan0) 3. 在捕获过滤栏输入: ```bpf port 9000 ``` 4. 开始捕获后,在显示过滤栏使用: ```wireshark tcp.port == 9000 || udp.port == 9000 ``` 二、tshark命令行工具(Wireshark自带) ```bash # 基础抓包 tshark -i eth0 -f "port 9000" # 保存为pcap文件 tshark -i any -w output.pcap -f "port 9000" # 解析已存文件 tshark -r input.pcap -Y "tcp.port == 9000" # 带详细输出(显示TCP序列号) tshark -i eth0 -f "port 9000" -O tcp ``` 三、tcpdump经典工具 ```bash # 实时监控 sudo tcpdump -i any port 9000 -vv # 保存原始数据 sudo tcpdump -i eth0 -w 9000_port.pcap port 9000 # 十六进制输出 tcpdump -XX -nn port 9000 ``` 注意事项: 1. 权限问题:Linux/Mac需sudo执行,Windows需管理员权限 2. 接口选择: - `any` 捕获所有接口 - `eth0` 指定物理网卡 - `lo` 环回接口 3. 协议区分:默认同时捕获TCP/UDP,指定协议可添加`tcp`/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值