tcpdump教程入门
tcpdump是一个最基本重要的网络分析工具, 掌握好这, 对于学习tcp/ip协议也是很有帮助的. 理解了tcp/ip协议栈的知识, 分析调优网络的能力才会更高. 所以使用tcpdump相比其它的工具, 更能帮我们理解协议.
tcpdump的一些命令选项
-n不要转换一些数值, 比如把80端口转换成http显示.-i需要监控的网卡. 如果不指定, 则监控所有有效的网卡数据.-c抓取多少个包后自动停止抓取-s默认是只抓取96bytes的数据, 如果想要抓取更多的数据, 则要通过这指定更大的数值. 比如-s 1500抓取1500byte-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教程入门的更多相关文章
- wxPython中文教程入门实例
这篇文章主要为大家分享下python编程中有关wxPython的中文教程,分享一些wxPython入门实例,有需要的朋友参考下 wxPython中文教程入门实例 wx.Window 是一个基类 ...
- Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据
Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据 在这一节中,你将新创建一个新的 MoviesController类,并编写代码,实现获取影片数据和使用视图模板在浏览器中展现 ...
- Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型
Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型 在这一节中,你将添加用于管理数据库中电影的类.这些类是ASP.NET MVC应用程序的模型部分. 你将使用.NET Framewo ...
- Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图
Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图 在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML ...
- Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器
Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器 MVC概念 MVC的含义是 “模型-视图-控制器”.MVC是一个架构良好并且易于测试和易于维护的开发模式.基于MVC模式的应用程 ...
- BAT脚本编写教程入门提高篇
BAT脚本编写教程入门提高篇 批处理文件的参数 批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符“%”. %[1-9]表示参数,参数是指在运行批处理 ...
- Nhibernate 4.0 教程入门
Nhibernate 4.0 教程 目录 1. 下载Nhibernate 4.04. 1 2. 入门教程... 2 3. 测试项目详解... 3 4. 总结.. ...
- Elasticsearch 教程--入门
1.1 初识 Elasticsearch 是一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎,可以说 Lucene 是当今最先进,最高效的全功能开源搜索引擎框架. 但是 L ...
- laravel教程入门笔记
安装laravel框架 1.安装命令 composer create-project --prefer-dist laravel/laravel ytkah ytkah表示文件夹名,如果不写的话自动会 ...
随机推荐
- HDU 1452 (约数和+乘法逆元)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1452 题目大意:求2004^X所有约数和,结果mod 29. 解题思路: ①整数唯一分解定理: 一个 ...
- jsp页面中创建方法
在JSP页面中是用 <%! void function(){ } %> 这种方式可以定义函数. 如果只使用 <% //todo %> 代码块中的代码在编译时将会都被加到 sev ...
- ACM: hihicoder #1174 : 拓扑排序·一 STL- queue
#1174 : 拓扑排序·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 由于今天上课的老师讲的特别无聊,小Hi和小Ho偷偷地聊了起来. 小Ho:小Hi,你这学期有选 ...
- 洛谷 P1305 新二叉树 Label:字符串的输出总是有惊喜
题目描述 输入一串完全二叉树,用遍历前序打出. 输入输出格式 输入格式: 第一行为二叉树的节点数n. 后面n行,每一个字母为节点,后两个字母分别为其左右儿子. 空节点用*表示 输出格式: 前序排列的完 ...
- [WP8.1UI控件编程]Windows Phone自定义布局规则
3.2 自定义布局规则 上一节介绍了Windows Phone的系统布局面板和布局系统的相关原理,那么系统的布局面板并不一定会满足所有的你想要实现的布局规律,如果有一些特殊的布局规律,系统的布局面板是 ...
- NOIP 2012 Day2T2 借教室题解
NOIP 2012 Day2T2 借教室题解 题目传送门:http://codevs.cn/problem/1217/ 题目描述 Description 在大学期间,经常需要租借教室.大到院系举办活动 ...
- HDU 4004 The Frog's Games(二分)
题目链接 题意理解的有些问题. #include <iostream> #include<cstdio> #include<cstring> #include< ...
- HDU 4597 Play Game
题目链接 什么都不想说,最近状态暴跌.. #include <cstdio> #include <cstring> #include <iostream> usin ...
- 【CodeVS】1204 寻找字串位置
题目描述 Description 给出字符串a和字符串b,保证b是a的一个子串,请你输出b在a中第一次出现的位置. 输入描述 Input Description 仅一行包含两个字符串a和b 输出描述 ...
- Android -- EditText方法
1. 选择需要的内容 final EditText myEditText=(EditText)findViewById(R.id.editText1); //编辑框对象 myEditText.setT ...