51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 470|回复: 0
打印 上一主题 下一主题

浅谈抓包工具tcpdump

[复制链接]
  • TA的每日心情
    擦汗
    4 小时前
  • 签到天数: 1047 天

    连续签到: 5 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2023-3-20 13:11:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1. 概论
      如果你抓过 TCP 的包,你一定听说过图形化界面软件 wireshark,tcpdump 则是一个命令行的网络流量分析工具,功能非常强大。尤其是做后台开发的同学要在服务器上定位一些黑盒的应用,tcpdump 是唯一的选择。这篇文章会重点介绍基本使用、过滤条件、保存文件几个方面。
      大部分 Linux 发行包都预装了 tcpdump,如果没有预装,可以用对应操作系统的包管理命令安装,比如在 Centos 下,可以用 yum install -y tcpdump 来进行安装。
      ·linux平台的抓包工具
      · ctrl + c 终止抓包

      2. 常见用法
      1. tcpdump host 1.117.109.40
      基于IP地址进行过滤
      2. tcpdump dst 1.117.109.40
      获取目的地址是1.117.109.40的报文
      3.tcpdump net 1.117.109.40/24
      基于网段进行过滤
      4. tcpdump tcp port 80
      基于端口进行过滤
      tcpdump port 80 or  20
      tcpdump portrange 8000-8010
      5. 基于协议进行过滤
          tcpdump icmp
          tcpdump tcp
          tcpdump udp
          应用层的协议不能直接写
          tcpdump port http
          tcpdump port 53
      6. tcpdump -i 指定监听的网络接口
      tcpdump -i eth0  : 默认监听在第一个网卡上
      tcpdump -i any : 监听所有的网络接口,用来查看是否有网络流量
      tcpdump -w test.pcap  : 保存到test文件
      tcpdump -r test.pcap  : 读取这个文件
      tcpdump -n :不把ip转化成域名,直接显示ip,避免执行DNS lookups的过程,速度会快很多
      tcpdump -nn : 不把ip和端口号转化成名字,速度快很多
      禁用主机与端口解析:-n 与 -nn 选项
      tcpdump -i eth0 -c 20 -w test.pcap : -c 指定抓包的次数,抓满20次就停止了
      tcpdump -C 1 -W 3 -w abc  : 一个文件写满1MB,就换下一个文件,最多写三个文件,满了以后覆盖写入
      tcpdump -Q in/out/inout : 选择是入方向还是出方向的数据包
      tcpdump -q : 简洁输出打印
      tcpdump -D: 显示所有可用网络接口的列表
      tcpdump -L: 列出网络接口的已知数据链路
      tcpdump -s 20  : 指定每个包捕获的长度
      tcpdump -A -r test.pcap 以ASCII码的形式读取文件,方便使用grep等工具输出内容
      tcpdump -A | grep baidu
      tcpdump -X -r  test.pcap : 表示同事使用十六进制和ASCII字符串打印报文的全部数据,但不能一起使用
      每个网卡都有自己的MAC地址
      tcpdump -F filter_rule -c 10  : 指定按照这个文件的格式过滤,后边的抓包10次不起作用
      这种方式适合长期维护
      tcpdump -l | tea file
      tcpdump -l > file & tail -f file
      -l 对标准输出进行缓冲
      tcpdump src 100.100.30.26 and port 80
      抓一个来自100.100.30.26主机,端口80的包
      tcpdump tcp port 53 and udp port 53
      抓取UDP 53端口 或者TCP 53端口的包
      tcpdump not tcp port 22
      抓取不是端口22的报文
      tcpdump "src 10.0.2.4 and (dst port 3389 or 22)"
      tcpdump ip dst 192.168.56.1 and src 192.168.56.210 and port 80 and host not www.baidu.com
      监听主机192.168.56.1和 192.168.56.210之间ip协议的80端口且排除www.baidu.com通信的所有数据包
      tcpdump less 32 : 基于包的大小进行过滤,抓取包大小小于32bytes的数据包
      tcpdump greater 32
      tcpdump -i any -nn port 80 -A
      tcpdump -i any -nn port 80 -A -s 500
      tcpdump -i any -nn port 80  -c 5
      tcpdump -i any port 80 -w test.pcap
      tcpdump -i any host 10.211.55.10 and dst port 3306
      tcpdump -i any src 10.211.55.10 and not dst port 22
      tcpdump -i any "src 10.211.55.10 and (dst port 3306 or 6379)"




    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 13:41 , Processed in 0.062028 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表