Tcpdump Wireshark 抓包

抓包前提:确认服务器网卡有IP地址

linux系统:ifconfig,查看网卡ip
1、如果网卡没有ip则不能使用含有此网卡相关的命令,如图中的eth0和eth1
如果使用命令:tcpdump -i eth0 host 10.213.72.186 -w /tmp/snmp_0414.cap
则会告警提示此网卡没有ip address:tcpdump: WARNING: eth0: no IPv4 address assigned
2、必须使用有ip 的 比如图中的 xenbr0 或xenbr1,使用命令:tcpdump -i xenbr0 host 10.213.72.186 -w /tmp/snmp_0414.cap
3、在使用抓包命令同时,服务器操作界面新打开一个窗口向输入触发设备发送报文请求并收到报文回应。
4、服务器操作界面:“ctrl+c”停止抓包
5、将抓到的包导出到本地使用wireshark软件解析报文
6、如果报文是加密了,如SNMPv3报文,要根据相关参数解密报文
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

服务器抓包-tcpdump抓包命令

tcpdump 的抓包保存到文件的命令参数是-w xxx.cap

抓eth1的包

tcpdump -i eth1 -w /tmp/xxx.cap

抓 192.168.1.123的包

tcpdump -i eth1 host 192.168.1.123 -w /tmp/xxx.cap

抓192.168.1.123的80端口的包

tcpdump -i eth1 host 192.168.1.123 and port 80 -w /tmp/xxx.cap

抓192.168.1.123的icmp的包

tcpdump -i eth1 host 192.168.1.123 and icmp -w /tmp/xxx.cap

抓192.168.1.123的80端口和110和25以外的其他端口的包

tcpdump -i eth1 host 192.168.1.123 and ! port 80 and ! port 25 and ! port 110 -w /tmp/xxx.cap

抓vlan 1的包

tcpdump -i eth1 port 80 and vlan 1 -w /tmp/xxx.cap

抓pppoe的密码

tcpdump-i eth1 pppoes -w /tmp/xxx.cap

以100m大小分割保存文件, 超过100m另开一个文件

-C 100m

抓10000个包后退出

-c 10000

后台抓包, 控制台退出也不会影响

nohup tcpdump -i eth1 port 110 -w /tmp/xxx.cap &

抓取从指定ip和网口发出的网络请求,数据包写入执行文件

tcpdump -i eth0 src 10.19.221.227 -w /home/snmp_0414.cap

或者

tcpdump  src 10.19.221.227  -i eth0 -w /home/snmp_0414.cap

抓取指定端口的包

tcpdump -i any port 9168 -s0 -w /home/916899.cap

或者

tcpdump -i any port 6300 -w /home/6300.cap

截取源IP是210.2.2.4主机发送给目的端口6800的所有报文,并把它保存到a.cap文件中:

tcpdump 'src host 210.2.2.4 and dst port 6800' -s 1500 -w a.cap

(1) 想要截获1.1.1.1主机所有收到的和发出的的报文,并把信息打印到控制台:

tcpdump 命令

 tcpdump [-option] [expression]

或者

 tcpdump [expression] [-option] 

tcpdump普通用法

tcpdump的参数由两部分组成:option和expression,option表示命令的参数,expression用于表示哪些报文被dump出来,没有提供expression表示dump所有的报文

tcpdump参数

-n :不解析地址,直接以 IP 及 port number 显示,而非主机名与服务名称
-i :后面接要『监听』的网络接口,例如 eth0, lo, ppp0 等等
-c :抓包数量,如果没有这个参数, tcpdump 会持续不断的监听,直到使用者输入 [ctrl]-c 为止
-e :输出dump的报文的链路层(OSI 第二层)信息(包括源目MAC和以太类型)
-q :quick mode,仅列出较为简短的封包信息,每一行的内容比较精简
-s :抓包的长度,默认是96字节。如果要把报文保存下来分析,需配置此参数
-A :抓包内容以 ASCII 显示,做WWW 的网页抓包分析很有用
-X :可以列出十六进制 (hex) 以及 ASCII 的抓包内容,对于观察内容很有用
-r :从后面接的文件中读取数据,这个『文件』是由 -w 所生成的
-w :把抓取数据保存到文件,后面接文件名
-v :verbose output,打印详细的输出
-vv :more verbose output,打印更加详细的输出

expression选择那些报文被dump出来,使用的是BPF语法。它可以由多个primitive(原语,可以理解成子表达式)组成,每个primitive都会输出一个结果:true或者false,primitive之间可以用逻辑符组合,最终expression的结果为true的报文会被dump出来。

常用的expression:

host :匹配v4/v6地址,可以匹配源和目的。
src host :匹配源v4/v6地址
dst host :匹配目的v4/v6地址
ether src :匹配源MAC
ether dst :匹配目的MAC
net :匹配网络地址范围
src net :匹配源网络地址范围
dst net :匹配目的网络地址范围
port :匹配端口号
src port :匹配源端口号
dst port :匹配目的端口号
ip proto :匹配IP协议号,可以跟数字或者知名的协议名
ether proto :匹配以太类型
vlan :匹配VLAN号
缩写 :ip ip6 arp stp tcp udp icmp(ether proto和ip proto的缩写)
逻辑符:not and or,not的优先级最高,and和or的优先级相同,从左往右依次生效

tcpdump用法

tcpdump常见用法
主要有两种用法:一是把抓取到的报文直接打印到控制台(stdout),二是把抓取到的内容保存到文件,借助其他工具(比如wireshark)分析抓取的报文,想要保存下来就带-w选项即可。常用示例如下

(1) 想要截获1.1.1.1主机所有收到的和发出的的报文,并把信息打印到stdout:

tcpdump  host 1.1.1.1

(2) 想要截获主机1.1.1.1 和主机1.1.1.2或192.168.111.3的通信,并且不做解析:

tcpdump  host 1.1.1.1 and 1.1.1.2 or 192.168.111.3 -n

(3) 想要获取主机1.1.1.1除了和主机1.1.1.2之外所有主机通信的ip包:

tcpdump  host 1.1.1.1 and  ! 1.1.1.2  -n

(4) 截取源IP是210.2.2.4主机发送给目的端口6800的所有报文,并把它保存到a.cap文件中:

tcpdump  src host 210.2.2.4 and dst port 6800  -s 1500 -w a.cap

tcpDump

参考二

https://baike.baidu.com/item/TCPDUMP/1383003

分析 Wireshark

wireshark的显示过滤器不是BPF语法,需要注意。

连接符:

==(eq) 等于
!=(ne) 不等于
<(lt) 小于
>(gt) 大于
>=(ge) 大于等于
<=(le) 小于等于
&&(and)||(or)!(not)

过滤IP地址:
过滤10.251.251.251的数据包
ip.addr==10.251.251.251

过滤源地址为1.1.1.8的数据包
ip.src==10.251.251.251

过滤源地址1.1.1.8或者目的地址1.1.1.10的数据包
ip.src1.1.1.8 or ip.dst1.1.1.10

过滤端口:
过滤tcp80端口的数据包
tcp.port eq 80,或者tcp.port == 80

过滤目的端口tcp80的数据包
tcp.dstport == 80

过滤tcp端口1000到2000之间的数据包
tcp.port>=1000 and tcp.port<=2000

过滤MAC地址:
过滤目的MAC11:22:33:44:55:66
eth.addr == 11:22:33:44:55:66

过滤http协议中带host字段的数据包
http.host
http.host==1.1.1.8

过滤http中post字段的数据包
http request method == POST
注意区分大小写。

WireShark 过滤语法

IP 过滤

过滤IP,如来源IP或者目标IP等于某个IP

ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107

或者

ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP

端口 过滤

tcp.port eq 80 // 不管端口是来源的还是目标的都显示

tcp.port == 80

tcp.port eq 2722

tcp.port eq 80 or udp.port eq 80

tcp.dstport == 80 // 只显tcp协议的目标端口80

tcp.srcport == 80 // 只显tcp协议的来源端口80

udp.port eq 15000

  tcp.port ==80,  显示源主机或者目的主机端口为80的数据包列表。

  tcp.srcport == 80,  只显示TCP协议的源主机端口为80的数据包列表。

  tcp.dstport == 80,只显示TCP协议的目的主机端口为80的数据包列表。

过滤端口范围

tcp.port >= 1 and tcp.port <= 80

过滤协议

tcp
ssl
http
https
ftp
排除包
!ssl 或者 not ssl

根据包长度过滤
udp.length ==26

http.request.method==“GET”, 只显示HTTP GET方法的。

http 关键词过滤

只访问某指定域名:http.host==“域名”
访问包含了指定字符串的 : http.[host] contains “内容”
只显示Referer头部内容为 http://www.packtpub.com的请求 : http.referer == “http://www.packtpub.com”
————————————————
版权声明:本文为CSDN博主「brasy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/github_40044758/article/details/111290919
3.

获取含有指定url的 包

http contains "vehicleCheckResult"

wireshark 查看

查看http流
在这里插入图片描述

使用Wireshark抓取WebSocket数据包的步骤如下: 1. 首先,确保已经安装了最新版本的Wireshark。你可以从官方网站下载并安装它。 2. 打开Wireshark,并选择要进行抓包网络接口。 3. 在过滤条件中输入"websocket",这样Wireshark就会过滤掉其他干扰数据包,只显示使用WebSocket协议的数据包。 4. 开始抓包Wireshark会开始捕获网络流量。 5. 当你进行WebSocket通信时,Wireshark会捕获到相关的WebSocket数据包。 6. 如果你想查看完整的WebSocket交互,包括连接建立等,你可以配置Wireshark来追踪TLS流量。 通过以上步骤,你就可以使用Wireshark抓取WebSocket数据包,并进行协议分析了。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [利用Wireshark抓取WebSocket数据包](https://blog.csdn.net/lusyoe/article/details/53858320)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [wireshark如何抓取WebSocket数据包](https://blog.csdn.net/joniers/article/details/102719725)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值