tcpdump是一个最基本重要的网络分析工具, 掌握好这, 对于学习tcp/ip协议也是很有帮助的. 理解了tcp/ip协议栈的知识, 分析调优网络的能力才会更高. 所以使用tcpdump相比其它的工具, 更能帮我们理解协议.

tcpdump的一些命令选项

  1. -n不要转换一些数值, 比如把80端口转换成http显示.
  2. -i需要监控的网卡. 如果不指定, 则监控所有有效的网卡数据.
  3. -c抓取多少个包后自动停止抓取
  4. -s默认是只抓取96bytes的数据, 如果想要抓取更多的数据, 则要通过这指定更大的数值. 比如-s 1500抓取1500byte
  5. -S默认每个包的sequence是显示相对的值, 如果想显示绝对值, 通过此选项打开.

过滤表达式

我们抓包时, 一般是有针对性的去关注感兴趣的东西, 不然太多的信息会对我们分析数据造成干扰, tcpdump支持过滤语法.

基本用法

host

host指定主机, 可以是ip或者域名.

tcpdump -s0  -i wlan0 host www.baidu.com

上面的功能是抓取本机网卡wlan0上和www.baidu.com这个主机打交道的数据. 其中-s0指定抓取所有数据, 查考前面选项介绍.

dst, src

有时候我们只关心数据流其中一个方向上的数据, 可以通过src: 源端, dst:目的端来指定过滤.

tcpdump  -i wlan0 dst  www.baidu.com

port

指定端口

tcpdump -i wlan0  port 6379

抓取redis的数据.

协议

指定协议数据, 比如: tcp, udp, icmp

tcpdump -i wlan0  tcp and udp

抓取所有的tcp和udp数据包.

高级用法

tcpdump表达式可以支持逻辑组合运算, 提供更强大的功能.

  • and
  • or
  • not

这些和所有开发语言中的语义是一样的. 下面看一些例子:

# 源主机是192.168.1.34, 并且目标端口是80
tcpdump -i eth0 src 192.168.1.34 and dst port 80
# 所有tcp协议并且端口不是22
tcpdump -i eth0 tcp and not port 22

有时候表达式太复杂了, 我们要进行分组, 即用()把一些表达式组合在一起.

# 源主机是192.168.1.34并且目标端口是22或者3389
tcpdump -i eth0 'src 192.168.1.34 and (dst port 22 or 3389)'

我们还可以通过分析数据包其中的部分数据计算过滤:

# 抓取带有SYN标志的数据, tcp[13]的意思是从tcp数据包头中取第14个byte数据, 详细参考tcp协议头
sudo tcpdump -i wlan0 'host www.baidu.com and tcp[13]&2!=0'

数据保存和读取分析

一般在服务器上截取到数据包后, 用于之后的分析, 比如传到本地机器后用wireshark分析. 可以通过-w选项保存:

tcpdump -i eth0 src www.baidu.com -w file.cap

上面把数据保存到了file.cap文件中

参考: https://danielmiessler.com/study/tcpdump/

tcpdump教程入门的更多相关文章

  1. wxPython中文教程入门实例

    这篇文章主要为大家分享下python编程中有关wxPython的中文教程,分享一些wxPython入门实例,有需要的朋友参考下     wxPython中文教程入门实例 wx.Window 是一个基类 ...

  2. Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据

    Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据 在这一节中,你将新创建一个新的 MoviesController类,并编写代码,实现获取影片数据和使用视图模板在浏览器中展现 ...

  3. Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型

    Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型 在这一节中,你将添加用于管理数据库中电影的类.这些类是ASP.NET MVC应用程序的模型部分. 你将使用.NET Framewo ...

  4. Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图

    Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图 在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML ...

  5. Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器

    Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器 MVC概念 MVC的含义是 “模型-视图-控制器”.MVC是一个架构良好并且易于测试和易于维护的开发模式.基于MVC模式的应用程 ...

  6. BAT脚本编写教程入门提高篇

    BAT脚本编写教程入门提高篇 批处理文件的参数 批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符“%”. %[1-9]表示参数,参数是指在运行批处理 ...

  7. Nhibernate 4.0 教程入门

    Nhibernate 4.0 教程 目录 1.      下载Nhibernate 4.04. 1 2.      入门教程... 2 3.      测试项目详解... 3 4.      总结.. ...

  8. Elasticsearch 教程--入门

    1.1 初识 Elasticsearch 是一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎,可以说 Lucene 是当今最先进,最高效的全功能开源搜索引擎框架. 但是 L ...

  9. laravel教程入门笔记

    安装laravel框架 1.安装命令 composer create-project --prefer-dist laravel/laravel ytkah ytkah表示文件夹名,如果不写的话自动会 ...

随机推荐

  1. Android NumberPicker 修改分割线颜色和高度及字体颜色大小

    (1)重写NumberPicker已达到修改显示字体颜色大小 public class TextColorNumberPicker extends NumberPicker { public Text ...

  2. vs2013的单元测试 第一部分

    这次的vs2013的单元测试我学到了许多,虽然到现在我还是不能完成,但是我也学到了许多. 首先,在vs2013中先安装Unit Test Generator,如图所示: 这个是进行单元测试重要的一个插 ...

  3. (转载)zeromq使用注意点滴

    zeromq使用注意点滴 1.关于介绍zeromq的就不说了,可以自己去看官方guide很详细 2.主要说下在使用过程中需要注意的地方 1)使用如果使用c++的接口的时候,在你自己的类中或者apach ...

  4. 油田 Oil Deposits

    油田 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=84562#problem/L 题意: 输入一个m行n列的字符矩形,统计字符 ...

  5. JAVA I/O系统

    一.流的分类 1.按照方向分为: (1)输入流:从数据源读取数据到程序中.只能从中读取数据,不能向其中写入数据.IO包中的输入流都继承自抽象类InputStream或Reader. (2)输出流:经数 ...

  6. js判断图片加载完成后获取图片实际宽高

    通常,我们会用jq的.width()/.height()方法获取图片的宽度/高度或者用js的.offsetwidth/.offsetheight方法来获取图片的宽度/高度,但这些方法在我们通过样式设置 ...

  7. Listener监听器使用小案例

    这里介绍的就是一个客户流失监听器案例 新建一个监听器实现ServletContextListener接口 覆写contextDestroyed和contextInitialized 方法 packag ...

  8. HDU2067/HDU1267 /HDU1130 递推

    小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  9. Daily Scrum 11.5

    今天成员全部到齐,对今天的工作进行了总结,并对明天的工作作了安排.由于先前分配的任务都已基本完成,要完成程序的三级优化是较为艰巨的任务.所以我们讨论决定,除PM外其他成员都投入到程序的优化和改进中去. ...

  10. unity3d插件Daikon Forge GUI 中文教程6-高级控件richtextlabel的使用

    3.5.richtextlabel文本 可以像Word文档一样编辑出多样的内容,图片,字体颜色大小下划线.超链接背景等等. Defaults: 默认字体 默认图集 Blank Texture :空白的 ...