简介

    简单的说,tcpdump就是一个抓包工具,类似Wireshark。

    tcpdump可以根据使用者的定义过滤/截取网络上的数据包,并进行分析。tcpdump可以将数据包的头部完全接货下来进行分析。支持网络层、协议层、主机、端口等特定规则的过滤。

tcpdump的使用

快速入门

    首先接收两个选项
  1. -i 指定网络接口
  2. -w 将截取到的数据包写入文件

    为什么先介绍这两个选项呢,因为有了这两个选项,结合Wireshark,你不想学tcpdump就可以不学了,直接把通过某个网络接口的所有数据包都保存到一个文件中,再到Wireshark中进行分析即可。
      命令如下:
  1. windeal@ubuntu:~$ sudo tcpdump -i eth0 -w hello.cap
  2. tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
  3. ^C129 packets captured
  4. 129 packets received by filter
  5. 0 packets dropped by kernel
  6. windeal@ubuntu:~$

可以看出例子中一共截获了129个数据包,然后直接用Wireshark打开文件hello.cap即可对其进行分析。
如下图:


tcpdump常用命令:

    tcpdump提供了一系列的参数来满足用户需求,根据使用者定义分析过滤数据包。
  1. windeal@ubuntu:~$ tcpdump --help
  2. tcpdump: invalid option -- '-'
  3. tcpdump version 4.2.1
  4. libpcap version 1.1.1
  5. Usage: tcpdump [-aAbdDefhHIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]
  6. [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
  7. [ -i interface ] [ -M secret ]
  8. [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
  9. [ -W filecount ] [ -y datalinktype ] [ -z command ]
  10. [ -Z user ] [ expression ]
  11. windeal@ubuntu:~$

这些参数大致可以分为以下几类:
捕获过滤类:类似Wireshark的capture filter
显示过滤类:类似Wireshark的display filter,就是Wireshark左上角有个下拉框的那个
辅助类

默认情况下,tcpdump显示格式如下:
  1. 04:57:52.195631 IP 192.168.1.2.137 > 192.168.1.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
  2. 04:57:52.662335 IP 192.168.1.2.137 > 192.168.1.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
  3. 04:57:52.944999 IP 192.168.1.2.137 > 192.168.1.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAS

下面介绍一些常用的参数:
  1. -i 前面已经介绍,用于指定网络接口
  2. -v 显示稍微详细信息
  3. -vv 显示比-v更详细的信息
  4. -e 打印链路层头部信息
  5. -t 不输出时间戳
  6. -tttt 输出date格式的时间戳
  7. host 指定主机

在tcpdump中也可以使用src、dst 以及and or not之类的参数

应用举例:
  1. tcpdump host widneal-PC #进出windeal-PC的数据包
  2. tcpdump host 192.168.1.1 #指定ip, 进出192.168.1.1 的数据包
  3. tcpdump src host 192.168.1.1 #指定源ip, 来自192.168.1.1 的数据包
  4. tcpdump tcp port 23 host 192.168.1.1 #获取主机192.168.1.1 接收或发出的telnet(端口号23)包
  5.  
  6. #To print all ICMP packets that are not echo requests/replies (i.e., not ping packets)
  7. tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'


tcpdump学习笔记的更多相关文章

  1. TCPDUMP学习笔记。

    1.启动 普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包,注意这里使用超级用户.当用户上网得时候,就会将监视得数据打印出来. 我没使用root用户,结果输入tcpdump命令 ...

  2. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  3. FreeSWITCH 学习笔记

    [1]FreeSWITCH学习笔记 1.Windows安装包下载地址:http://files.freeswitch.org/windows/installer/ 2.源码下载地址:http://fi ...

  4. 学习笔记:CentOS7学习之十九:Linux网络管理技术

    目录 学习笔记:CentOS7学习之十九:Linux网络管理技术 本文用于记录学习体会.心得,兼做笔记使用,方便以后复习总结.内容基本完全参考学神教育教材,图片大多取材自学神教育资料,在此非常感谢MK ...

  5. Java IO学习笔记一:为什么带Buffer的比不带Buffer的快

    作者:Grey 原文地址:Java IO学习笔记一:为什么带Buffer的比不带Buffer的快 Java中为什么BufferedReader,BufferedWriter要比FileReader 和 ...

  6. Java IO学习笔记四:Socket基础

    作者:Grey 原文地址:Java IO学习笔记四:Socket基础 准备两个Linux实例(安装好jdk1.8),我准备的两个实例的ip地址分别为: io1实例:192.168.205.138 io ...

  7. 网络协议学习笔记(二)物理层到MAC层,交换机和VLAN,ICMP与ping原理

    概述 之前网络学习笔记主要讲解了IP的诞生,或者说整个操作系统的诞生,一旦有了IP,就可以在网络的环境里和其他的机器展开沟通了.现在开始给大家讲解关于网络底层的相关知识. 从物理层到MAC层:如何在宿 ...

  8. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  9. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

随机推荐

  1. android 控件加圆角

    1.新建一个radius_border.xml <shape xmlns:android="http://schemas.android.com/apk/res/android&quo ...

  2. centos 文档的压缩和打包 gzip,bzip2,xz,zip,unzip,tar,tgz 第九节课

    centos  文档的压缩和打包   gzip,bzip2,xz,zip,unzip,tar,tgz  第九节课 SAS盘可以支持热插拔,看机器 tar.zip.tar -czvf 不会动源文件,gz ...

  3. Selenium之firefox浏览器的启动

    1.编写如下代码 import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; /** ...

  4. 系统管理命令之logname

    logname命令,可以显示自己初次登录到系统中的用户名,主要识别sudo前后情形,与whoami相反. 1.查看该命令的帮助信息. # logname --help 2.查看该命令的版本信息. # ...

  5. CCPC-Wannafly Winter Camp Day1 (Div2, onsite)

    Replay Dup4: 要是不挂机,再多仔细想想就好了 J确实自闭好久,一直在想正确性,最后数据错了,喵喵喵? 还是要保证充足的休息啊,中间睡了一小会儿,也不知道睡了多久,醒来他们就又过了一道 要发 ...

  6. 字王4K云字库入驻github

    字王4K云字库入驻github 网址:https://github.com/ziwang-com/zw4kFont   2015.3.28,字王4K云字库入驻github,原本或早或晚,不过这几天在g ...

  7. SQL group by的使用

    ①定义 "group by" 从字面上理解是根据“by"指定的规则对数据进行分组 ②简单示例 ③group by 中的select字段是受限制的 select指定的字段要 ...

  8. nmon监控Linux服务器系统资源

    本文转自:http://www.cnblogs.com/hyzhou/archive/2011/12/29/2305860.html 在实际的测试过程中,Loadrunner监控Linux系统资源不太 ...

  9. JS的 instanceof 方法

    http://www.cnblogs.com/jasonxuli/p/6769282.html 这是 2014-12-10 发在 iteye 上的文章 今天突然想起js的原型继承模型和相关的proto ...

  10. linux history记录格式修改

    #保存一万条命令记录 sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile #在/etc/profile的文件尾部添加如下行数配置信息 ### ...