举例:

 1、针对指定网卡eth0抓包

 tcpdump -i eth0

 2、过滤主机

 tcpdump -i eth0 host 192.168.1.1
tcpdump -i eth0 src host 192.168.1.1
tcpdump -i eth0 dst host 192.168.1.1

 3、过滤协议的类型

 tcpdump -i eth0 arp
tcpdump -i eth0 tcp
tcpdump -i eth0 udp
tcpdump -i eth0 icmp

 4、过滤端口

 tcpdump -nnn -i eth0 port
tcpdump -nnn -i eth0 src port
tcpdump -nnn -i eth0 dst port
  • - nnn 让tcpdump不要把IP地址转化为网络名称,不要把端口显示为服务名

 5、抓取报文后隔指定的时间保存一次 

 tcpdump -s  -G  -Z root -w %Y_%m%d_%H%M_%S.cap
  • - G 选项后面接时间,单位为秒;本例中的时间为60秒。
  • 抓包的名字以时间戳命名 %Y_%m%d_%H%M_%S.cap
  • 指定数据包截断的长度,0表示不截断,tcpdump默认截断68字节

 6、抓取报文后达到指定的大小保存一次

 tcpdump -s  -C  -Z root -W 1 -w test.cap
  • - C(大写)表示每当文件达到指定大小时进行重新保存一个新文件,单位是MB(1 000 000 B)
  • - Z (小写) 表示下面的新文件也是用root权限来执行的,如果用 - C 时必须配合-Z(大写Z)
  • - w 直接将分组写入文件中
  • - W 限制文件的个数,达到个数后开始从最早的文件覆盖

tcpdump 各参数详解

  • A 以ASCII格式打印出所有分组,并将链路层的头最小化。

  • -c 在收到指定的数量的分组后,tcpdump就会停止。

  • -C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_size 中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。参数 file_size 的单位是兆字节(是1,000,000字节,而不是1,048,576字节)。

  • -d 将匹配信息包的代码以人们能够理解的汇编格式给出。

  • -dd 将匹配信息包的代码以C语言程序段的格式给出。

  • -ddd 将匹配信息包的代码以十进制的形式给出。

  • -D 打印出系统中所有可以用tcpdump截包的网络接口。

  • -e 在输出行打印出数据链路层的头部信息。

  • -E 用spi@ipaddr algo:secret解密那些以addr作为地址,并且包含了安全参数索引值spi的IPsec ESP分组。

  • -f 将外部的Internet地址以数字的形式打印出来。

  • -F 从指定的文件中读取表达式,忽略命令行中给出的表达式。

  • -i 指定监听的网络接口。

  • -l 使标准输出变为缓冲行形式,可以把数据导出到文件。

  • -L 列出网络接口的已知数据链路。

  • -m 从文件module中导入SMI MIB模块定义。该参数可以被使用多次,以导入多个MIB模块。

  • -M 如果tcp报文中存在TCP-MD5选项,则需要用secret作为共享的验证码用于验证TCP-MD5选选项摘要(详情可参考RFC 2385)。

  • -b 在数据-链路层上选择协议,包括ip、arp、rarp、ipx都是这一层的。

  • -n 不把网络地址转换成名字。

  • -nn 不进行端口名称的转换。

  • -N 不输出主机名中的域名部分。例如,‘nic.ddn.mil‘只输出’nic‘。

  • -t 在输出的每一行不打印时间戳。

  • -O 不运行分组分组匹配(packet-matching)代码优化程序。

  • -P 不将网络接口设置成混杂模式。

  • -q 快速输出。只输出较少的协议信息。

  • -r 从指定的文件中读取包(这些包一般通过-w选项产生)。

  • -S 将tcp的序列号以绝对值形式输出,而不是相对值。

  • -s 从每个分组中读取最开始的snaplen个字节,而不是默认的68个字节。

  • -T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc远程过程调用)和snmp(简单网络管理协议;)。

  • -t 不在每一行中输出时间戳。

  • -tt 在每一行中输出非格式化的时间戳。

  • -ttt 输出本行和前面一行之间的时间差。

  • -tttt 在每一行中输出由date处理的默认格式的时间戳。

  • -u 输出未解码的NFS句柄。

  • -v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息。

  • -vv 输出详细的报文信息。

  • -w 直接将分组写入文件中,而不是不分析并打印出来。

  • -W 限制文件的个数

----------------------------------------

英文文档路径  https://www.tcpdump.org/manpages/tcpdump.1.html

tcpdump使用方法总结的更多相关文章

  1. tcpdump使用方法小结

    在进行网络测试的时候,我们经常需要进行抓包的工作,当然有许多测试工具可以使用,比如sniffer, ethreal等.但最为方便和简单得就非TCPDump莫属. Linux的发行版里基本都包括了这个工 ...

  2. linux Tcpdump使用方法

    用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的&qu ...

  3. tcpdump使用方法

    TcpDump可以将网络中传送的数据包完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息. 工作中使用tcpdump命令抓 ...

  4. Kali学习笔记3:TCPDUMP详细使用方法

    Kali自带Wireshark,但一般的Linux系统是不带的,需要自行下载,并且过程略复杂 而纯字符界面的Linux系统无法使用Wireshark 但是,所有Linux系统都会安装TCPDUMP:一 ...

  5. iOS tcpdump抓包方法(需越狱)

    前提条件:机器要破解,cydia能打开 需要工具1.openssh2.tcpdump 安装工具方法:1.连接网络,打开cydia2.确认Cydia设置为开发者模式(管理->设置->开发者) ...

  6. Linux中tcpdump的编译和使用

    tcpdump官网:http://www.tcpdump.org/ 转载于:http://www.cnblogs.com/hzl6255/p/6147985.html 目录 1. 介绍 2. 编译 2 ...

  7. ios tcpdump

    转载 前提条件:机器要破解,cydia能打开 需要工具1.openssh2.tcpdump 安装工具方法:1.连接网络,打开cydia2.确认Cydia设置为开发者模式(管理->设置->开 ...

  8. Linux下Tcpdump使用

    1. 介绍 tcpdump是一款用来截取网络数据的工具:这里主要介绍的是为嵌入式Linux编译tcpdump的方法 2. 编译 首先去官网下载源代码, 需要下载tcpdump和libpcap, 将他们 ...

  9. [转] Android实时抓包分析 : 善用adb调试桥

    Android实时抓包分析 : 善用adb调试桥   谈到android网络抓包,很多人都能想到牛逼轰轰的神器tcpdump.方法就是在android机器上面安装tcpdump,然后通过-w参数把抓包 ...

随机推荐

  1. netty集成ssl完整参考指南(含完整源码)

    虽然我们在内部rpc通信中使用的是基于认证和报文头加密的方式实现安全性,但是有些时候仍然需要使用SSL加密,可能是因为对接的三方系统需要,也可能是由于open的考虑.中午特地测了下netty下集成ss ...

  2. dubbo-启动时检查

    dubbo缺醒会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认 check=true 可以通过 check=false 关闭检查,比如 ...

  3. oracle12c的日志查看

    查看GI日志:切换到grid用户 查看DB日志:切换到oracle的目录下 执行[oracle@swnode1 ~]$ adrci [oracle@swnode1 ~]$ adrci ADRCI: R ...

  4. 让CSS某行不失效

    比如百度的分享代码 <div id="bdshare" class="bdshare_t bds_tools get-codes-bdshare"> ...

  5. mysql 中语句执行的顺序以及查询处理阶段的分析

    原文链接:http://www.php.cn/mysql-tutorials-408865.html 本篇文章给大家带来的内容是关于mysql中语句执行的顺序以及查询处理阶段的分析,有一定的参考价值, ...

  6. Educational Codeforces Round 40 (Rated for Div. 2) Solution

    从这里开始 小结 题目列表 Problem A Diagonal Walking Problem B String Typing Problem C Matrix Walk Problem D Fig ...

  7. ODAC(V9.5.15) 学习笔记(四)TMemDataSet (3)

    3.其他 名称 类型 说明 GetBlob TBlob 按照字段名获取当前数据集中某个Blob类型的字段值,并以TBlob对象形式返回 Prepared Boolean 检查Query的SQL是否已准 ...

  8. 再谈 linux 的sed用法

    很多东西, 如果太复杂, 太庞杂, 一开始, 可以只掌握最简单的. 如果连最简单的都不能掌握, 那看那么多有什么用? 关于cut, sed的 处理过程和思想? vm: virtual machine, ...

  9. 一个涉及到浮点寄存器的CM

    这次找小伙伴要了他的一个CM,怎么说呢,这CM让我学到了不少,其实搞出来后感觉不难,就是有不少FPU浮点相关的指令和FPU寄存器完全没学过,查了不少资料,学到了很多 打开是这样 无壳程序,我们直接od ...

  10. fastqc

    fastqc用于查看测序数据的质量. 1.下载: http://www.bioinformatics.babraham.ac.uk/projects/download.html#fastqc wget ...