IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Tcpdump抓包工具的使用 -> 正文阅读

[开发测试]Tcpdump抓包工具的使用

? ? tcpdump是Linux下一个强大的抓包工具,支持针对网络层、协议、主机、网络或端口的过滤,凭借其强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。

1. 使用教程

执行tcpdump --help命令后,tcpdump的使用语法如下:

tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
        [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
        [ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
        [ -Q in|out|inout ]
        [ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
        [ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
        [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
        [ -Z user ] [ expression ]

下面我们依次介绍各个选项的作用:

1.1 抓包选项

  • -i interface:指定tcpdump需要监听的接口。默认会抓取第一个网络接口
  • -c:指定要抓取的包数量,抓完后tcpdump就会停止
  • -n:对地址以数字方式显式,否则显式为主机名,也就是说-n选项不做主机名解析。
  • -nn:除了-n的作用外,还把端口显示为数值,否则显示端口服务名。
  • -P:指定要抓取的包是流入还是流出的包。可以给定的值为"in"、"out"和"inout",默认为"inout"。

1.2 输出选项

  • -w:将抓包数据输出到文件中而不是标准输出,并不分析和打印出来。可以同时配合"-G
  • -e:输出的每行中都将包括数据链路层头部信息,例如源MAC和目标MAC。
  • -q:快速打印输出。即打印很少的协议相关信息,从而输出行都比较简短。
  • -A:以ASCII码的形式显示数据包,抓取web数据时比较有用
  • -X:输出包的头部数据,会以16进制和ASCII两种方式同时输出
  • -XX:输出包的头部数据,会以16进制和ASCII两种方式同时输出,更详细。
  • -v:当分析和打印的时候,产生详细的输出。
  • -vv:产生比-v更详细的输出。
  • -vvv:产生比-vv更详细的输出。
  • -l:使标准输出变为缓冲行形式;
  • -t:在输出的每一行不打印时间戳;
  • -s snaplen :snaplen表示从一个包中截取的字节数。0表示包不截断,抓完整的数据包。默认的话 tcpdump 只显示部分数据包,默认68字节。

1.3 其它功能性选项

  • -F:从文件中读取抓包的表达式。若使用该选项,则命令行中给定的其他表达式都将失效。

1.4 expression表达式

(1)类型 type

? 这里的type包括:host, net, port, portrange

? 例如:host 192.168.201.128 , net 128.3, port 20, portrange 6000-6008'

(2)目标 dir

? 例如:src, dst, src or dst, src and dst

(3)协议 proto

? 这里的协议包括:tcp, udp , icmp

? 多个表达式可以使用and和or组合,取反可以使用!号。

2. 实战演练

(1)抓取本机6379端口的tcp数据包,包括dst和src为6379的包

tcpdump -i lo -nn tcp port 6379

(2)抓取以本机6379为dst的tcp数据包:

tcpdump -i lo -nn tcp dst port 6379

(3)抓取以本机6379为dst和src的10个tcp数据包

tcpdump -i lo -c 10 -nn tcp port 6379

(4)把(3)中抓取的10个tcp数据包保存到文件中

tcpdump -i lo -c 10 -nn -w data tcp port 6379

? ? 此时保存到data中的内容为二进制形式,需要使用wireshark等工具才能解析出内容。?

(5)只抓端口6379和6381的tcp数据包,其它端口不关心

tcpdump -i lo -c 10 -nn 'tcp port 6379 or tcp port 6381'

(6)对源IP和目的端口进行过滤?

tcpdump -i lo -c 10 -nn 'src host 127.0.0.1 and tcp dst port 6379'

(7)把抓到的包的内容重定向到文件中

tcpdump -i lo -c 10 -nn 'src host 127.0.0.1 and tcp dst port 6379' >> data

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 12:01:59  更:2022-02-26 12:02:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:39:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码