Linux下通过tcpdump抓包工具获取信息
介绍
tcpdump是网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。
tcpdump - dump traffic on a network
tcpdump 的具体参数及意义:
-i :指定 tcpdump 监听的网络接口
-s :指定要监听数据包的长度
-c:指定要监听的数据包数量,达到指定数量后自动停止抓包
-w :指定将监听到的数据包写入文件中保存
-A :指定将每个监听到的数据包以 ACSII 可见字符打印
-n :指定将每个监听到数据包中的域名转换成 IP 地址后显示
-nn :将每个监听到的数据包的域名转换成 IP 、端口从应用名称转换成端口号后显示
-e :指定将监听到的数据包链路层的信息打印出来,包括源 mac 和目的 mac ,以及网络层的协议
-p :将网卡设置为非混杂模式,不能与 host或 broadcast 一起使用
-r :指定从某个文件中读取数据包
-S :指定打印每个监听到的数据包的 TCP 绝对序列号而非相对序列号 OK
以上列举了一些常用的,详细参数可点击链接查看:
https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_71/com.ibm.aix.cmds5/tcpdump.htm
示例
tcpdump 主要包括三种类型的关键字:
第一种是关于类型的关键字,主要包括 host , net , port ,例如:
#tcpdump -i eth0
@eth0为参数值,表示需要抓包的网口,这是个必需参数哦。 #tcpdump -i eth0 host 192.168.0.250
@在网口eth0上抓取主机地址为192.168.0.250的所有数据包。 #tcpdump -i eth0 net 192.168.0.0/
@在网口eth0上抓取网络地址为192.168.0./24的所有数据包 #tcpdump host 182.254.38.55
@监听本机跟主机182.254.38.55之间往来的通信包,出、入的包都会被监听。
第二种 是确定传输方向的关键字,主要包括 src , dst , src or dst , src and dst,这些关键字指明了传输的方向。例如:
#tcpdump -i eth0 port
@在网口eth0上抓取端口为80的所有数据包(注意,这里不区分是源端口还是目的端口)
当然,我们也可以指定源端口或目的端口 #tcpdump -i eth0 src port and dst port
@在网口eth0上抓取源端口为80且目的端口为6100的数据包,这里用到了and逻辑运算符
除了这三种类型的关键字外,还有其他重要的关键字,如: gateway ,broadcast , less , greater ,还有三种逻辑运算,取非运算是 'not' 、 '!' ,与运算符是 'and' 、 '&&' 、 或运算符是 'or' 、 '||' ,这些关键字可以组合起来构成强大的组合条件来满足我们的需求。
#tcpdump -i eth0 -s -nn host 192.168.0.250 and ! 192.168.0.74 and icmp -e
@抓取网口eth0上192.168.0.250与除192.168.0.74外的其他主机之间的icmp报文
#tcpdump -i eth0 -s -nn tcp and \(host 192.168.0.250 and ! 192.168.0.74\)
@抓取网口eth0上192.168.0.250与除192.168.0.74外的所有tcp数据包,
这里用到了括号,注意,在tcpdump中使用括号时必须用转义
#tcpdump -i eth0 ether src or dst :::6C:D9:A3
@抓取网口eth0上源mac地址或目的mac地址为00:::6C:D9:A3的所有数据包,
注意,这里的mac地址格式必须以':'分隔。
补充一些其他的:
#tcpdump -nn -c
-c:指定抓包数量为100
#tcpdump -nn -i eth1
-i:指定网卡为eth1
#tcpdump -nn port
port:指定端口为80
#tcpdump -nn tcp and port
:指定抓取类型为tcp且端口为80
#tcpdump -nn tcp and port and host 221.212.212.24
:指定抓取类型为tcp且端口为80 且来源ip为221.212.212.24的包
#tcpdump -nn tcp and port and host 221.212.212.24 -w .cap
:指定抓取类型为tcp且端口为80 且来源ip为221.212.212.24的包并保存在1.cap
#tcpdump -r .cap
:查看数据包的流向(但是不可以使用cat直接查看)
#tcpdump -nn tcp and port and host 221.212.212.24 > .cap
:指定抓取类型为tcp且端口为80 且来源ip为221.212.212.24的包并重定向到2.cap
#cat .cap
:即可查看
内容分析

Linux下通过tcpdump抓包工具获取信息的更多相关文章
- linux下利用tcpdump抓包工具排查nginx获取客户端真实IP实例
一.nginx后端负载服务器的API在获取客户端IP时始终只能获取nginx的代理服务器IP,排查nginx配置如下 upstream sms-resp { server ; server ; } s ...
- linux下使用tcpdump抓包分析tcp的三次握手
首先贴上tcp 三次握手的原理图服务器开启ftp服务并执行tcpdump抓包服务器:192.168.3.14 ftp服务客户端:192.168.3.100 服务器执行以下命令,客户端访问服务器ftp: ...
- 【转载】linux下的usb抓包方法
1 linux下的usb抓包方法 1.配置内核使能usb monitor: make menuconfig Device Drivers --> ...
- linux下的usb抓包方法
1 linux下的usb抓包方法1.配置内核使能usb monitor: make menuconfig Device Drivers --> ...
- tcpdump抓包工具
tcpdump抓包工具 一:TCPDump介绍 TcpDump可以将网络中传送的数据包的"头"完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and ...
- Mac 下安装Fiddler抓包工具
需求 我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles.但是这个只能抓代理的数据包.但是有时候想要调试本地网卡的数据库 Charles 就没办法了.就想到了在windows下面的一个F ...
- MAC下安装Fiddler抓包工具
需求 我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles.但是这个只能抓代理的数据包.但是有时候想要调试本地网卡的数据库 Charles 就没办法了.就想到了在windows下面的一个F ...
- Linux系统诊断必备技能之二:tcpdump抓包工具详解
一.简述 TcpDump可以将网络中传送的数据包完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息. Linux作为网络服 ...
- linux使用tcpdump抓包工具抓取网络数据包,多示例演示
tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...
随机推荐
- 百度Ueditor 图片上传无反应,显示上传0张,不能点确定
解决办法: \Data\Ueditor\php\Uploader.class.php 190行左右 /** * 获取文件扩展名 * @return string */ private function ...
- MapReduce执行jar练习
1.用程序生成输入文件1.txt和2.txt 生成程序源码如下: https://www.cnblogs.com/jonban/p/10555364.html 2. 上传文件到hdfs文件系统 创建 ...
- matlab 大块注释和取消注释的快捷键
matlab 大块注释和取消注释的快捷键 注释:Ctrl+R 取消注释:Ctrl +T
- 第10章 新建工程-库函数版—零死角玩转STM32-F429系列
第10章 新建工程—库函数版 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...
- 自学youku_web
仿youku架构 数据库设计 管理员 注册 登录 上传视频 删除视频 发布公告 普通用户 注册 登录 充会员 查看视频 下载免费视频 下载收费视频 查看观影记录 查看公告 思路 class Field ...
- 3、SpringBoot+Mybatis整合------主键回填
开发工具:STS 代码下载链接:https://github.com/theIndoorTrain/SpringBoot_Mybatis01/tree/d68efe51774fc4d96e5c6870 ...
- Mac openssl 和curl源码编译
1.先编译openssl, 下载源码后解压,终端进入源码目录,输入命令配置编译环境:./Configure darwin64-x86_64-cc 等待配置完成后,输入make 和make insta ...
- forEach、for...in、for...of
forEach 数组实例的遍历方法 const arr=['red', 'green', 'blue']; arr.forEach(function(element, index) { console ...
- 关于 Angular引用Material出现node_modules/@angular/material/button-toggle/typings/button-toggle.d.ts(154,104): error TS2315: Type 'ElementRef' is not generic.问题
百度了好久 ,,,最后谷歌出来了.. 该错误可能来自于您将@ angular / material设置为6.0.0, 但所有其他Angular包都是5.x.您应该始终确保Material主要版本与An ...
- 使用Git将本地项目上传到码云
01.码云上创建一个项目 testgit (名字随意) 02.进入本地想要上传的目录,然后使用git bash 03.cd到想要上传的目录 04.$ git init 初始化一个git 本地仓库(项目 ...