tcpdump 采用命令行方式,它的命令格式为:

  tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]
[ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]
[ -T 类型 ] [ -w 文件名 ] [表达式 ]

(1). tcpdump 的选项介绍

   -a    将网络地址和广播地址转变成名字;
-d    将匹配信息包的代码以人们能够理解的汇编格式给出;
-dd    将匹配信息包的代码以c语言程序段的格式给出;
-ddd   将匹配信息包的代码以十进制的形式给出;
-e    在输出行打印出数据链路层的头部信息;
-f    将外部的Internet地址以数字的形式打印出来;
-l    使标准输出变为缓冲行形式;
-n    不把网络地址转换成名字;
-t    在输出的每一行不打印时间戳;
-v    输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
-vv    输出详细的报文信息;

-x         打印出数据包的内容

-xx       更加详细的打印出数据包的内容

-X         用ASCII码的形式打印出数据包的内容

-XX       同上,不过打印出来的信息内容更加详尽
-c    在收到指定的包的数目后,tcpdump 就会停止;
-F    从指定的文件中读取表达式,忽略其它的表达式;
-i    指定监听的网络接口;
-r    从指定的文件中读取包(这些包一般通过-w选项产生);
-w    直接将包写入文件中,并不分析和打印出来;
-T    将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议;)

(2) 实战1: 选项的使用

*如何让抓到的数据包,显示其ip地址而不是显示主机名:

在使用tcpdump时,一般我们希望看到的是ip地址,而不适机器名,所以一般可以加上 -n -f选项

*在主机有多个接口的情况下如何指定其中的一个接口?

可以使用:

tcpdump -i 接口名

来指定特定的接口,比如,要抓取来自eth0接口的icmp数据包的命令是:

tcpdump -i eth0 icmp

注意,-i 选项后面必须接接口名,有的机器的接口名可以是any,此时抓取的是来之任意接口的数据包。

tcpdump -i any icmp

tcpdump -nf -i any icmp    #打印数据包的ip地址而不是主机名

* 如何看到数据包中的MAC地址?

加上-e选项就可以看到数据包的MAC地址了。

tcpdump -enf -i any icmp

* 如何查看数据包头部的各个字段的数据?

有时候我们需要看到数据包的头部各个字段的信息,那么只需要添加选项 -v ,若需要更加详细则使用: -vv选项

tcpdump -enfv -i any

tcpdump -enf -vv -i any

* 如何打印出抓到的数据包的数据?

添加选项 -x 或 -xx 或 -X(ASIIC码的形式打印数据包的内容) 或 -XX (更加详细的打印数据包的内容)

tcpdump -x -i eth0 src port 8080

(3) 实战2: 表达式的使用

使用表达式可以更加灵活的定制过滤条件,从而抓取到我们想要的数据包。

* 表达式的组成

表达式可以由3部分的限定词组成:

1, 类型: host, port, portrange,net ,若没有指定类型参数,缺省是host

2,方向 : src,  dst, src or dst, src and dst, addr1, addr2, addr3, and addr4 若没有指定,缺省是src and dst

3,协议 : ether, fddi, tr,wlan,  ip,  ip6, arp, rarp, decnet, tcp and udp 等。 若没有指定,缺省的是所有协议。

可用的表达式组合请看手册: man tcpdump,这里只讲一些实用的例子:

(4) 实例:

* 如何抓取某个主机的数据包?

tcpdump host localhost1

* 获取目的主机是192.168.1.3的数据包?

tcpdump  -en -i eth0 dst 192.168.1.3

* 获取来自主机192.168.1.3 端口是22的数据包?

tcpdump -enf -i any dst 192.168.1.3 port 22

* 获取来自主机192.168.1.3 或是主机192.168.1.4 端口是22 的数据包?

tcpdump -enf -i any host 192.168.1.3 or 192.168.1.4 and port 22

本文转自运维笔记博客51CTO博客,原文链接http://blog.51cto.com/lihuipeng/983705如需转载请自行联系原作者

lihuipeng

linux抓包工具:tcpdump 工具用法相关推荐

  1. linux抓网卡数据包命令,Linux抓包命令tcpdump命令图解

    原标题:Linux抓包命令tcpdump命令图解 tcpdump命令-->用来将网络中传送的数据包的"头"完全截获下来提供分析,常见的有Wireshark.在Linux中输入 ...

  2. 你不知道的linux抓包神器—— tcpdump

    [好文推荐] 需要多久才能看完linux内核源码? 概述Linux内核驱动之GPIO子系统API接口 一篇长文叙述Linux内核虚拟地址空间的基本概括 tcpdump介绍 tcpdump 是一款强大的 ...

  3. 【网络知识】4. linux抓包工具tcpdump的使用

    linux抓包工具tcpdump的使用 linux可视化抓包工具可以使用wireshark,对于不能可视化的,还是得使用tcpdump tcpdump -h # 查看用法 最简单的用法: tcpdum ...

  4. Linux抓包工具tcpdump使用小结

    Linux抓包工具tcpdump使用小结 简介及安装 tcpdump命令详解 tcpdump参数 tcpdump表达式 tcpdump 命令演示 常用抓包命令组合 tcpdump抓包实测 理解抓取的报 ...

  5. Linux抓包工具:tcpdump

    tcpdump 是一个命令行实用工具,允许你抓取和分析经过系统的流量数据包.它通常被用作于网络故障分析工具以及安全工具. tcpdump 是一款强大的工具,支持多种选项和过滤规则,适用场景十分广泛.由 ...

  6. linux5.8抓包,Linux 抓包工具 tcpdump

    Linux 抓包工具 tcpdump 1.概述 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. ...

  7. 监控io性能、free、ps、查看网络状态和linux抓包工具

    一.监控io性能 1.iostat -x 磁盘使用 关注最后一列的数值,数值大说明磁盘有异常 2.iotop 磁盘使用 安装:yum install -y iotop 二.free命令 查看内存使用多 ...

  8. Linux统计进程网络,查看磁盘io、内存free、系统进程ps、网络状态netstat、Linux抓包tcpdump...

    查看磁盘io性能状态 iostat -x 查看磁盘使用(安装包与sar的安装包一起) 主要查看%util [root@shu-test ~]# iostat -x Linux 3.10.0-693.e ...

  9. 【linux测试必背| tcpdump】命令行抓包神器 | tcpdump抓取post请求并显示详细参数

    命令行抓包神器 | tcpdump抓取post请求并显示详细参数 知识背景(diu ren 经历) 1. tcpdump抓包工具捕捉tcp请求 三次握手和四次挥手 适用场景: 命令格式: 2. tcp ...

  10. 纯干货:Linux抓包命令集锦(tcpdump)

    /****************************************************************************************** * 版权声明 * ...

最新文章

  1. Forcepoint DLP解决方案持续推高各机构的业务发展进程
  2. RocketMQ-初体验RocketMQ(07)-使用API操作RocketMQ_顺序消息 ordermessage
  3. wireshrk中的名词说明
  4. 记一次院赛CTF的Crypto和Re题(入门)
  5. 无意中发现一个有趣的事情
  6. Spring里Bean类的运行时小写之谜
  7. 有没有python的班_【万字长文】别再报班了,一篇文章带你入门Python
  8. C++primer第十章 泛型算法 10.1 概述 10.2 初识泛型算法
  9. Shell 判断文件或文件夹是否存在(不存在则创建)
  10. 20180826(04)-Java序列化
  11. HDOJ 5184 Brackets 卡特兰数扩展
  12. 网上照片之博客照片与网店照片拍摄心得
  13. win7系统配置时间服务器,与Internet时间服务器同步 设Win7精确时间
  14. mangodb 高频数据_MongoDB和数据流:实现一个MongoDB Kafka消费者
  15. 中国谋略第一书:《素书》全文解析
  16. linux系统资源查看详解
  17. 列车实时数据通信协议(TRDP)探索之路【三】
  18. Question2Answer 安全
  19. Nett源码剖析(2)NioEventloopGroup的创建2021SC@SDUSC
  20. 静态网页项目部署到云服务器上

热门文章

  1. sharepoint 2013文档上传最大50M怎么改啊
  2. lnmp安装完之后的一些注意事项
  3. @echo off 与@echo on
  4. Linux运维课程 第一阶段 重难点摘要(一)网络基础
  5. Python 基础---列表
  6. parentNode,parentElement,offsetParent
  7. foreman架构的引入3-安装Foreman1.5.3架构(all-in-one)
  8. 转载:NPOI导出到Excel表格
  9. C#读写文本文件,字符串截取
  10. postfix+dovecot