• tcpdump用法


    tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ]
    [ -s snaplen ] [ -w file ] [ expression ]

    image

    参数:

    抓包选项:
    -c : 捕获 count 个包 tcpdump 就退出
    -i interface:指定tcpdump需要监听的接口。默认会抓取第一个网络接口,如果要查看所有网卡,可以 -i any
    -n:对地址以数字方式显式,否则显式为主机名,也就是说-n选项不做主机名解析。
    -nn:除了-n的作用外,还把端口显示为数值,否则显示端口服务名。
    -P:指定要抓取的包是流入还是流出的包。可以给定的值为"in"、"out"和"inout",默认为"inout"。
    -s : tcpdump 默认只会截取前 96 字节的内容,要想截取所有的报文内容,可以使用 -s number, number 就是你要截取的报文字节数,如果是 0 的话,表示截取报文全部内容。
    -S : 使用绝对序列号,而不是相对序列号
    -Q: 选择是入方向还是出方向的数据包,可选项有:in, out, inout,也可以使用 --direction=[direction] 这种写法
    -C:file-size,tcpdump 在把原始数据包直接保存到文件中之前, 检查此文件大小是否超过file-size. 如果超过了, 将关闭此文件,另创一个文件继续用于原始数据包的记录. 新创建的文件名与-w 选项指定的文件名一致, 但文件名后多了一个数字.该数字会从1开始随着新创建文件的增多而增加. file-size的单位是百万字节(nt: 这里指1,000,000个字节,并非1,048,576个字节, 后者是以1024字节为1k, 1024k字节为1M计算所得, 即1M=1024 * 1024 = 1,048,576)
    
    输出选项: 
    -e:输出的每行中都将包括数据链路层头部信息,例如源MAC和目标MAC。 -q:快速打印输出。即打印很少的协议相关信息,从而输出行都比较简短。
    -x:以16进制的形式打印每个包的头部数据(但不包括数据链路层的头部)
    -xx:以16进制的形式打印每个包的头部数据(包括数据链路层的头部)
    -X:输出包的头部数据,会以16进制和ASCII两种方式同时输出。
    -XX:输出包的头部数据,会以16进制和ASCII两种方式同时输出,更详细。
    -v:产生详细的输出. 比如包的TTL,id标识,数据包长度,以及IP包的一些选项。同时它还会打开一些附加的包完整性检测,比如对IP或ICMP包头部的校验和。
    -vv:产生比-v更详细的输出. 比如NFS回应包中的附加域将会被打印, SMB数据包也会被完全解码。
    -vvv:产生比-vv更详细的输出。比如 telent 时所使用的SB, SE 选项将会被打印, 如果telnet同时使用的是图形界面,其相应的图形选项将会以16进制的方式打印出来
    -t:在每行的输出中不输出时间
    -tt:在每行的输出中会输出时间戳
    -ttt:输出每两行打印的时间间隔(以毫秒为单位)
    -tttt:在每行打印的时间戳之前添加日期的打印(此种选项,输出的时间最直观)
    -d:打印出易读的包匹配码
    -dd:以C语言的形式打印出包匹配码.
    -ddd:以十进制数的形式打印出包匹配码
    
    其他功能性选项:
    -D:列出可用于抓包的接口。将会列出接口的数值编号和接口名,它们都可以用于"-i"后。
    -F:从文件中读取抓包的表达式。若使用该选项,则命令行中给定的其他表达式都将失效。
    -L :列出指定网络接口所支持的数据链路层的类型后退出
    -Z:后接用户名,在抓包时会受到权限的限制。如果以root用户启动tcpdump,tcpdump将会有超级用户权限。
    -w:将抓包数据输出到文件中而不是标准输出。可以同时配合"-G time"选项使得输出文件每time秒就自动切换到另一个文件。可通过"-r"选项载入这些文件以进行分析和打印。
    -r:从给定的数据包文件中读取数据。使用"-"表示从标准输入中读取。
    
    
    

    tcpdump 的输出

    Flags 标识符

    使用 tcpdump 抓包后,会遇到的 TCP 报文 Flags,有以下几种:

    • [S] : SYN(开始连接)
    • [P] : PSH(推送数据)
    • [F] : FIN (结束连接)
    • [R] : RST(重置连接)
    • [.] : 没有 Flag (意思是除上面四种类型外的其他情况,有可能是 ACK 也有可能是 URG)

    常规过滤规则

    1.基于IP地址过滤:host

    使用 host 就可以指定 host ip 进行过滤

    tcpdump host 192.168.10.100
    

    数据包的 ip 可以再细分为源ip和目标ip两种

    # 根据源ip进行过滤
    tcpdump -i eth2 src 192.168.10.100
    
    # 根据目标ip进行过滤
    tcpdump -i eth2 dst 192.168.10.200
    

    2.基于网段进行过滤:net

    若你的ip范围是一个网段,可以直接这样指定

    tcpdump net 192.168.10.0/24
    

    网段同样可以再细分为源网段和目标网段

    # 根据源网段进行过滤
    tcpdump src net 192.168
    
    # 根据目标网段进行过滤
    tcpdump dst net 192.168
    

    3.基于端口进行过滤:port

    使用 port 就可以指定特定端口进行过滤

    tcpdump port 8088
    

    端口同样可以再细分为源端口,目标端口

    # 根据源端口进行过滤
    tcpdump src port 8088
    
    # 根据目标端口进行过滤
    tcpdump dst port 8088
    

    同时指定两个端口

    tcpdump port 80 or port 8088
    # 简写
    tcpdump port 80 or 8088
    

    抓取端口段。

    tcpdump portrange 8000-8080
    tcpdump src portrange 8000-8080
    tcpdump dst portrange 8000-8080
    

    对于一些常见协议的默认端口,直接使用协议名,而不用具体的端口号

    比如 http == 80,https == 443 等

    tcpdump tcp port http
    

    4.基于协议进行过滤:proto

    常见的网络协议有:tcp, udp, icmp, http, ip,ipv6 等

    只想查看 icmp 的包

    tcpdump icmp
    

    protocol 可选值:ip, ip6, arp, rarp, atalk, aarp, decnet, sca, lat, mopdl, moprc, iso, stp, ipx, or netbeui

    5.基本IP协议的版本进行过滤

    IPv4 的 tcp 包,数字 6 表示的是 tcp 在ip报文中的编号、

    tcpdump 'ip proto tcp'
    tcpdump ip proto 6
    tcpdump 'ip protochain tcp'
    tcpdump ip protochain 6
    

    IPv6 的 tcp 包

    tcpdump 'ip6 proto tcp'
    tcpdump ip6 proto 6
    tcpdump 'ip6 protochain tcp'
    tcpdump ip6 protochain 6
    

    Reference

    tcpdump详细教程

    tcpdump详解

  • 相关阅读:
    C#命名约定:PascalCase和camelCase
    Windows8 App 四大名著完整本 隐私保护声明
    C#-编码习惯
    [转]C#之Console.Write()和Console.Read()及Console.Readline()的问题
    通过JavaScript动态输入计算
    在VS2008中加入ExtJS智能提示—>(方法一)
    在VS2008中加入ExtJS智能提示—>(方法二)
    (一)javascript面向对象:(1)类
    上证指数波浪分析2013/03/12
    Springsecurity源码Filter之HeaderWriterFilter(十二)
  • 原文地址:https://www.cnblogs.com/brewin/p/15849859.html
Copyright © 2020-2023  润新知