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 ...
随机推荐
- POST信息模拟登录获取页面内容
最近项目里有一个是要模拟登录后,访问固定页面获取内容的要求,一开始用JQ AJAX好像不支持跨域请求.后使用.net中HttpWebRequest对象来获取.一开始访问总是无法在第二个页面正常访问,好 ...
- Graylog安装操作
Graylog安装操作 实验环境centos7.5系统 mem:4-8G disk:50G 关闭selinux以及firewalld 一.准备环境 1.1.java环境 下载java的j ...
- C#操作Word,写数据,插入图片
本篇介绍的是如何在C#中往word里面写入数据. 如何在线的操作文档: c#在线操作文档 关于Aspose.Word控件的介绍,请戳→ 介绍 首先需要去下载这个dll文件,然后引用到你的项目当中.地 ...
- Ext4.2 select 和 query 区别与联系
Ext.query和Ext.select的作用是一致的,同是根据CSS选择符查找出一个或多个元素.区别在于返回类型上.分别是:query方法返回的是JavaScript标准的数组类型:select方法 ...
- Python学习之路——基础1
python作为一门解释型的编程语言,和c/c++等其他语言都或多或少有相通的地方,所以有语言基础的话,学起来还是方便一些.所以我的笔记对于相对简单的概念可能会选择放过,但对自己记录的东西我会力求完备 ...
- ReactiveObjC框架的简单介绍
最近在一直在学习RAC框架的Object-C版本ReactiveObjC(Swift版本为ReactiveSwift),这篇文章简单展示一下学习的成果!!!如果有什么地方理解错误,欢迎大家指正!!!互 ...
- mybatis两级缓存原理剖析
https://blog.csdn.net/zhurhyme/article/details/81064108 对于mybatis的缓存认识一直有一个误区,所以今天写一篇文章帮自己订正一下.mybat ...
- 自定义扩展Compare比较方法
public static int Compare<T, V>(this T x, T y, Func<T, V> func) { return Comparer<V&g ...
- OpenLDAP部署目录服务
文档信息 目 的:搭建一套完整的OpenLDAP系统,实现账号的统一管理. 1:OpenLDAP服务端的搭建 ...
- vue.js实践应用
对于vue.js,不想多比比,直接搞上源码+图片 <!DOCTYPE html> <html> <head> <meta charset="utf- ...