• tcpdump截帧工具使用


    一、tcpdump介绍

    ​ tcpdump是Linux下功能强大的截帧工具,相当于windows下的wireshark一下,只是操作方式是命令行的,需要熟悉Linux命令行操作。

    ​ 常用的Linux发行版基本上都已经自带了tcpdump,如果没有可以tcpdump官网下载安装,官网只提供了源代码,下载后需要先编译。具体编译方式这里不做介绍。

    二、tcpdump常用参数介绍

    下面列出了tcpdump的常用参数:

    • -a 将网络地址和广播地址转换成名字
    • -A 以ASCⅡ 格式显示截取到的数据帧
    • -c num 截取到num条数据后就停止
    • -C file-size 用于配合-w file,如果文件大小超过,file-size 则新创建一个文件
    • -D 列出系统中所有可以用以 tcpdump 截包的网络接口。显示的接口序号或接口名称可以通过 - i 指定
    • -q 快速输出,只显示较少信息
    • -w 将输出结果保存到文件中,可以在windows下使用wireshark分析
    • -r 从指定文件读取数据包,一般用来读取使用 -w 参数保存文件
    • -i 指定抓取哪个网卡的数据包,如需要抓取所有网卡使用 -i any
    • -x 以十六进制显示截取到的数据帧
    • -nnn参数。使用-nnn参数禁用tcpdump展示时把IP、端口等转换为域名、端口对应的知名服务名称。

    三、tcpdump表达式

    tcpdump表达式用来设置哪些数据包被打印到命令行,如果不设置过滤表达式网络上所有被捕获的包都会被打印,否则, 只有满足条件表达式的数据包被打印。

    在表达式中一般有如下几种类型的关键字

    • 关于类型的关键字,host、net、port、ip >proto、protochain 等

    • 确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src 等

    • 协议的关键字,ip、arp、rarp、tcp、udp>、icmp、http 等

    表达式的基本格式为协议+[传输方向]+类型+ 具体数值,具体使用请看实例。

    ip src host 192.168.0.1
    tcp port 1883
    

    四、实例

    1. 抓取所有网卡的数据包

      tcpdump -i any
      
    2. 抓取端口1883的数据包

      tcpdump -i eth0 port 1883        # 1883 端口的所有数据包 
      tcpdump -i eth0  tcp port 1883   # 1883 端口的所有tcp数据包 
      tcpdump -i eth0  udp port 1883   # 1883 端口的所有udp数据包 
      
    3. 抓取源 ip 是 172.30.20.10 的数据包

      tcpdump -i eth0 src host 172.30.20.10
      
    4. 抓取目的地址是172.30.20.10的数据包

      tcpdump -i eth0 dst host 172.30.20.10
      
    5. 抓取源 ip 是172.30.20.10 且目的端口是 22 的数据包

      tcpdump -i eth0  src host172.30.20.10 and dst port 22
      
    6. 抓取源 ip 是172.30.20.10 且目的端口是 22 的数据包

      tcpdump -i eth0 -vnn src host 172.30.20.10 or port 22
      
    7. 抓取源 ip 是172.30.20.10 且目的端口不是 22 的数据包

      tcpdump -i eth0 -vnn src host 172.30.20.10  and not port 22
      
    8. 抓取网卡eth0的数据包并保存到文件

      tcpdump -i eth0  -w data.cap
      
      
    9. 抓取网卡eth0的 100 条数据并保存到文件

      tcpdump -i eth0 -c 100 -w data.cap
      
      
    10. 抓取ip协议的数据包

      tcpdump -i eth0 ip
      
      
  • 相关阅读:
    uniapp判断token多次登录问题
    vue强制刷新子组件到初始状态
    时间戳转化时间过滤器
    axios二次封装具有请求/响应拦截的http请求
    vue常见的工具函数
    解决npm i 初始化,core-js报错
    node环境变量配置
    scss基本使用
    Vue element-ui父组件控制子组件的表单校验
    antd-Calendar(日历)自动嵌入对应时间问题
  • 原文地址:https://www.cnblogs.com/ay-a/p/11229127.html
Copyright © 2020-2023  润新知