Linux下tcpdump用法
根据使用者的定义对网络上的数据包进行截获的包分析工具。tcpdump将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供了and、 or、not等逻
辑语句来帮助过滤不必要的信息;
root@ubuntu:~# tcpdump
tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size bytes
::27.651478 IP 222.132.16.50.ssh > 101.80.4.77.: Flags [P.], seq :, ack , win , options [nop,nop,TS val ecr ], length
::27.652686 IP 222.132.16.50.ssh > 101.80.4.77.: Flags [P.], seq :, ack , win , options [nop,nop,TS val ecr ], length
::27.654052 IP 222.132.16.50.ssh > 101.80.4.77.: Flags [P.], seq :, ack , win , options [nop,nop,TS val ecr ], length
::27.654312 IP 222.132.16.50.ssh > 101.80.4.77.: Flags [P.], seq :, ack , win , options [nop,nop,TS val ecr ], length
::27.654514 IP 222.132.16.50.ssh > 101.80.4.77.: Flags [P.], seq :, ack , win , options [nop,nop,TS val ecr ], length
::27.654722 IP 222.132.16.50.ssh > 101.80.4.77.: Flags [P.], seq :, ack , win , options [nop,nop,TS val ecr ], length
::27.654886 IP 222.132.16.50.ssh > 101.80.4.77.: Flags [P.], seq :, ack , win , options [nop,nop,TS val ecr ], length
指定网卡:tcpdump -i eth1 #-i (interface)
指定抓取源主机:tcpdump host node2 #hostname node2, 该主机名必须在本地硬解析即在/etc/hosts文件存在解析
指定抓取源ip :tcpdump host 10.0.0.1 // tcpdump -i eth1 host 10.0.0.1
tcpdump -i eth1 host \(10.0.0.53 or 222.16.232.50\)
抓取回发给某ip的包:tcpdump -i eth1 dst host 10.0.0.53 //dst 即destination,目的地
抓取来源于某ip的包:tcpdump -i eth1 src host 10.0.0.53 //src 即source, 源头
指定端口: tcpdump -i eth1 port 23 host 10.0.0.53
参数说明:
-n : 不要使用通讯协定或主机名称,直接使用IP 或 port number
-ee:使用更详细的资讯来显示
增加(add)与删除(del)路由的相关参数:
-net :表示后面接的路由为一个网域;
-host:表示后面接的为连接到单步主机的路由;
netmask:与网域有关,netmask决定网域的大小;
gw: gateway的简写,后续接的是ip值;
dev :如果只是要指定那块网卡连接出去,则使用这个设定; 后面接eth0、eth1等;
1、抓取包含10.10.10.122的数据包
# tcpdump -i eth0 -vnn host 10.10.10.122
2、抓取包含10.10.10.0/24网段的数据包
# tcpdump -i eth0 -vnn net 10.10.10.0/24
3、抓取包含端口22的数据包
# tcpdump -i eth0 -vnn port 22
4、抓取udp协议的数据包
# tcpdump -i eth0 -vnn udp
5、抓取icmp协议的数据包
# tcpdump -i eth0 -vnn icmp
# tcpdump -i eth0 -vnn arp
7、抓取ip协议的数据包
# tcpdump -i eth0 -vnn ip
8、抓取源ip是10.10.10.122数据包。
# tcpdump -i eth0 -vnn src host 10.10.10.122
9、抓取目的ip是10.10.10.122数据包
# tcpdump -i eth0 -vnn dst host 10.10.10.122
10、抓取源端口是22的数据包
# tcpdump -i eth0 -vnn src port 22
11、抓取源ip是10.10.10.253且目的ip是22的数据包
# tcpdump -i eth0 -vnn src host 10.10.10.253 and dst port 22
12、抓取源ip是10.10.10.122或者包含端口是22的数据包
# tcpdump -i eth0 -vnn src host 10.10.10.122 or port 22
13、抓取源ip是10.10.10.122且端口不是22的数据包
[root@ ftp]# tcpdump -i eth0 -vnn src host 10.10.10.122 and not port 22
# tcpdump -i eth0 -vnn \( src host 10.10.10.2 and dst port 22 \) or \( src host 10.10.10.65 and dst port 80 \)
[root@localhost ~]# tcpdump -i eth0 -vnn 'src host 10.10.10.59 and dst port 22' or ' src host 10.10.10.68 and dst port 80 '
# tcpdump –i eth0 -vnn -w /tmp/fil1 -c 100
# tcpdump –i eth0 -vnn -r /tmp/fil1 tcp
# tcpdump –i eth0 -vnn -r /tmp/fil1 host 10.10.10.58
Linux下tcpdump用法的更多相关文章
- linux下automake用法
linux下automake用法 2017年02月06日 09:21:14 阅读数:3684 标签: makemakefilegnulinux 作为Linux下的程序开发人员,大家一定都遇到过Ma ...
- linux下tcpdump命令详解
简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...
- linux下tar用法
以下是linux下tar的用法,转一下,以便方便自己看(这里没把rar,zip类的转过来,一般rar,zip在linux下基本没人用,基本上是zip,unzip,rar,unrar,这些命令,并且ra ...
- linux下scp用法
scp 对拷文件夹 和 文件夹下的所有文件 对拷文件并重命名 对拷文件夹 (包括文件夹本身) scp -r /home/wwwroot/www/charts/util root@192.168.1 ...
- Linux下Tcpdump使用
1. 介绍 tcpdump是一款用来截取网络数据的工具:这里主要介绍的是为嵌入式Linux编译tcpdump的方法 2. 编译 首先去官网下载源代码, 需要下载tcpdump和libpcap, 将他们 ...
- linux下svn用法
linux下svn的一些常用命令: checkout代码到当前目录: svn co svn://192.168.22.23/project ./ swich 切换分支: 先查看当前工作副本:svn ...
- linux下rename用法--批量重命名
Linux的rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的Linux发行版基本上使用的是C语言版本的,现在已经很难见到C语言版本的了, 由于历史原因,在Perl语言 ...
- linux下tcpdump命令的使用
一般情况下linux系统会自带tcpdump工具,如果系统没有安装,直接用命令安装就行了. 安装命令:yum install -y tcpdump 查看安装版本命令:tcpdump --help 查看 ...
- linux下rename用法--批量重命名 转
原文地址:https://www.cnblogs.com/hester/p/5615871.html Linux的rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的Li ...
随机推荐
- HashMap和HashTable 学习
1. HashMap 1) hashmap的数据结构 Hashmap是一个数组和链表的结合体(在数据结构称“链表散列“),如下图示: 当我们往hashmap中put元素的时候,先根据key的hash ...
- linux目录对照命令——meld
preface:也不算是非常大的事情,但也须要这么个东西.对照两个目录里的内容是否同样,知道差异在哪里.找出问题所在,vimdiff 仅仅能比較两个文件是否同样,比較不了目录,只是能够写个bash脚本 ...
- paip.最新的c++ qt5.1.1环境搭建跟hello world
paip.最新的c++ qt5.1.1环境搭建跟hello world 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://bl ...
- CSS3线性渐变linear-gradient
转自 http://www.w3cplus.com/content/css3-gradient CSS3的线性渐变 一.线性渐变在Mozilla下的应用 -moz-linear-gradient( [ ...
- 不可不知的HTML优化技巧
如何提升Web页面的性能,很多开发人员从多个方面来下手如JavaScript.图像优化.服务器配置,文件压缩或是调整CSS. 很显然HTML 已经达到了一个瓶颈,尽管它是开发Web 界面必备的核心语言 ...
- 【Spring】手动获取spring容器对象时,报no qualifying bean of type is defined
手动获取容器对象时,报no qualifying bean of type is defined, 经过调查,发现手动获取的时候,该类所在的包必须经过spring容器初始化. 1.SpringConf ...
- C#调用C/C++动态库 封送结构体,结构体数组
因为实验室图像处理的算法都是在OpenCV下写的,还有就是导航的算法也是用C++写的,然后界面部分要求在C#下写,所以不管是Socket通信,还是调用OpenCV的DLL模块,都设计到了C#和C++数 ...
- Linux 环境下 fork 函数和 exec 函数族的使用
前言 接触 Linux 已经有几个月了,以前在网上看各路大神均表示 Windows 是最烂的开发平台,我总是不以为然,但是经过这段时间琢磨,确实觉得 Linux 开发给我带来不少的便利.下面总结一下学 ...
- lua学习:使用Lua处理游戏数据
在之前lua学习:lua作配置文件里,我们学会了用lua作配置文件. 其实lua在游戏开发中可以作为一个强大的保存.载入游戏数据的工具. 1.载入游戏数据 比如说,现在我有一份表单: data.xls ...
- c++,public/protected/private权限修饰符
1.public的变量可以在类中以及外部访问到: 2. private只可以在类/友元中访问到. #include <iostream> using namespace std; //-- ...