Tcpdump学习笔记

tcpdump输出

tcpdump输出结构

04:10:46.852184 IP localhost.localdomain.ssh > 192.168.190.1.63683: Flags [P.], seq 408261743:408261939, ack 192715332, win 264, length 196

第一列:时分秒毫秒

第二列:网络协议

第三列:发送方的ip地址+端口号

第四列:箭头方向 表示数据流向

第五列:接收方的ip地址+端口号

第六列:冒号

第七列:数据包内容,包括Flags 标识符,seq 号,ack 号,win 窗口,数据长度 length

Flag解释

[S] : SYN(开始连接)

[P] : PSH(推送数据)

[F] : FIN (结束连接)

[R] : RST(重置连接)

[.] : 没有 Flag,由于除了 SYN 包外所有的数据包都有ACK,所以一般这个标志也可表示 ACK

常用过滤规则

基于ip地址:host

tcpdump host 192.168.10.100
tcpdump -i eth2 src 192.168.10.100 #源ip
tcpdump -i eth2 dst 192.168.10.200 #目的ip

基于网段:net

基于端口进行过滤:port,多个端口

tcpdump port 80 or 8088

基于协议进行过滤:proto

基于ip协议版本过滤

tcpdump 'ip proto tcp'
tcpdump 'ip6 proto tcp'

常用参数

不解析域名

-n:不把ip转化成域名,直接显示 ip,避免执行 DNS lookups 的过程,速度快

-nn:不把协议和端口号转化成名字,速度也会快很多。

-N:不打印出host 的域名部分。

输出到文件

tcpdump icmp -w icmp.pcap

从文件中读取

使用 -w 是写入数据到文件,而使用 -r 是从文件中读取数据

控制内容输出详细程度

-v:产生详细的输出. 比如包的TTL,id标识,数据包长度,以及IP包的一些选项。同时它还会打开一些附加的包完整性检测,比如对IP或ICMP包头部的校验和。

-vv:产生比-v更详细的输出. 比如NFS回应包中的附加域将会被打印, SMB数据包也会被完全解码。

-vvv:产生比-vv更详细的输出。比如 telent 时所使用的SB, SE 选项将会被打印, 如果telnet同时使用的是图形界面,其相应的图形选项将会以16进制的方式打印出来(摘自网络,目前我还未使用过)

控制时间显示

-t:在每行的输出中不输出时间

-tt:在每行的输出中会输出时间戳

-ttt:输出每两行打印的时间间隔(以毫秒为单位)

-tttt:在每行打印的时间戳之前添加日期的打印(此种选项,输出的时间最直观)

显示数据包首部

-x:以16进制的形式打印每个包的头部数据(但不包括数据链路层的头部)

-xx:以16进制的形式打印每个包的头部数据(包括数据链路层的头部)

-X:以16进制和 ASCII码形式打印出每个包的数据(但不包括连接层的头部),这在分析一些新协议的数据包很方便。

-XX:以16进制和 ASCII码形式打印出每个包的数据(包括连接层的头部),这在分析一些新协议的数据包很方便。

过滤指定网卡数据包

-i:指定要过滤的网卡接口,如果要查看所有网卡,可以 -i any

参考文章

肝了三天,万字长文教你玩转 tcpdump,从此抓包不用愁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值