不让你失望的Tcpdump

Tcpdump

选项
-i	[interface]				#指定入站网卡
-n							#不将地址转换为域名,端口转换为协议
-nn							#不将协议和端口号等转换为名称
-v							#繁琐的输出. 显示 IP 数据报 中的 生存周期 和 服务类型.
-q							#简要的输出,仅显示时间、源Ip、目标ip、协议、端口、包大小
-c	[count]					#指定抓取的包数量
-w	[filename]				#将包数据输出至文件(二进制文件,只能用-r选项阅读),使用wareshark软件也可
							#yum -y install wareshark*
-r	[filename]				#阅读-w选项输出的包文件

dst host [hostname]			#指定目标主机
src host [hostname]			#指定来源主机,ip和域名均可

dst net [network]			#指定目标网段/24或ip	
src net [network]			#指定来源网段/24或ip

port [port]					#指定端口,不管是目标端口还是来源
dst port [port]				#指定目标端口
src port [port]				#指定来源端口

greater length				#筛选大于length的数据包
基本用法
#打印从主机A中发出和收到的数据
tcpdump host A

#打印主机A和B之间或和c之间得来往数据包
tcpdump host A and \(B or C)

#打印主机A和主机B之外的所有主机之间的同行
tcpdump host A and not B

#打印不是本地网络得数据包
tcpdump ip and not net localnet

~~~powershell
 tcpdump -i ens33 -nv
 tcpdump -i ens33 -nv -c 100
 tcpdump -i ens33 -nv -w /file1.tcpdump
 tcpdump -nnv -r /file1.tcpdump
主机、端口、网段为条件
 tcpdump -i ens33 -nq not port 80
 tcpdump -i ens33 -nq port 80
 tcpdump -i ens33 -nq net 192.168.112.0/24
 tcpdump -i ens33 -nq host 192.168.112.70
 tcpdump -i ens33 -nq dst port 22
 tcpdump -i ens33 -nq src port 22
协议为条件
 tcpdump -i ens33 -nv arp
 tcpdump -i ens33 -nv icmp
 tcpdump -i ens33 -nv udp udp协议
 tcpdump -i ens33 -nv tcp tcp协议,三次握手及四次断开
 tcpdump -i ens33 -nv ip ip协议
 tcpdump -i ens33 -nv vrrp keepalived使用协议
多条件,与或非
 tcpdump -i ens33 -nnv not net 192.168.112.0/24
 tcpdump -i ens33 -nnv not port 80
 tcpdump -i ens33 -nnv host 192.168.112.80 and port 22
 tcpdump -i ens33 -nnv host 192.168.112.80 and host 192.168.112.70
 tcpdump -i ens33 -nnv host 192.168.112.80 or host 192.168.112.70
 tcpdump -i ens33 -nnv \( host 192.168.112.80 and port 22 \) or \( host
192.168.112.70 and port 80 \)
 tcpdump -i ens33 -nnv host 192.168.112.10 and port 22 or port 80
 tcpdump -i ens33 -nnv host 192.168.112.10 and \( port 22 or port 80\)
 tcpdump -i ens33 -nnv host 192.168.112.10 and port 80
 tcpdump -i ens33 -nnv host 192.168.112.10 and ! port 80
tcp头部信息

在这里插入图片描述
在这里插入图片描述

由上图可知下面抓包的意思

 man tcpdump
 tcpdump -i ens33 -nnv tcp[13]==2
|C|E|U|A|P|R|S|F|
|--------------- |
|0 0 0 0 0 0 1 0 |
|--------------- |
|7 6 5 4 3 2 1 0|
 tcpdump -i ens33 -nnv tcp[13]==2 and port 22 -w ssh-conn.tcpdump

 tcpdump -i ens33 -nnv tcp[13]==18
|C|E|U|A|P|R|S|F|
|--------------- |
|0 0 0 1 0 0 1 0 |
|--------------- |
|7 6 5 4 3 2 1 0|
 tcpdump -i ens33 -nnv tcp[13]==17

案例解析

在这里插入图片描述
上图截取啦一部分ssh连接时的包数据

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
#提示使用-v或者-vv选项可以看到更全的信息
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
#监听的通过ens33这个网卡设备的网络包,网络是基于以太网的,要抓的包大小限制是262144字节。包大小限制可以通过-s选项来设置。
16:46:36.099799 IP 192.168.112.80.58926 > localhost.localdomain.ssh: Flags [S], seq 2224777175, win 29200, options [mss 1460,sackOK,TS val 774004 ecr 0,nop,wscale 7], length 0
# 16:46:36.099799		时、分、秒、微秒
# 192.168.112.80.58926			来源ip和端口
# >								方向
# localhost.localdomain.ssh		访问的本地主机的ssh服务
# Flags [S]						请求建立连接
# seq 2224777175				tcp第一次握手,seq序列号
# win 29200						窗口大小为29200
# options						tcp首部可选字段
# mss 1460						发送端通告的最大报文长度,超过这个长度不接受
# sackOK 						表示发送端支持并同意使用SACK选
#其他不知
# nop							空操作选项
# wscale 7						wscale指出发送端使用的窗口扩大因子为2
# length 0						以太帧长度为0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值