- 浏览: 331152 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
longge424:
你好,可否将saml与spring security结合使用的 ...
SAML介绍 -
bnmnba:
mark
(转)Ant 学习笔记(一) -
redhacker:
写的还不错!谢谢!
SAML介绍 -
linluxian:
SAML介绍 -
hyj1254:
有效,good.
Linux创建目录与删除目录命令具体分析
实际用例: 监测192.16.0.100到192.16.0.102 网卡为eth1的包是否丢失,命令如下:
tcpdump -i eth1 dst host 192.16.0.102 and src host 192.16.0.100
输出为:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
17:57:12.608278 IP 192.16.0.100.53701 > 192.16.0.102.cbt: UDP, length 1020
17:57:12.610451 IP 192.16.0.100.53701 > 192.16.0.102.cbt: UDP, length 998
17:57:12.612506 IP 192.16.0.100.53701 > 192.16.0.102.cbt: UDP, length 1008
17:57:12.615419 IP 192.16.0.100.53701 > 192.16.0.102.cbt: UDP, length 1016
17:57:12.615662 IP 192.16.0.100.53701 > 192.16.0.102.cbt: UDP, length 1024
17:57:12.616000 IP 192.16.0.100.53701 > 192.16.0.102.cbt: UDP, length 1000
17:57:12.616325 IP 192.16.0.100.53701 > 192.16.0.102.cbt: UDP, length 964
17:57:12.616650 IP 192.16.0.100.53701 > 192.16.0.102.cbt: UDP, length 1000
17:57:12.616788 IP 192.16.0.100.53701 > 192.16.0.102.cbt: UDP, length 452
10 packets captured
21 packets received by filter
0 packets dropped by kernel
用法:
tcpdump采用命令行方式,它的命令格式为:
tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]
[ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]
[ -T 类型 ] [ -w 文件名 ] [表达式 ]
1. tcpdump的选项介绍
-a 将网络地址和广播地址转变成名字;
-d 将匹配信息包的代码以人们能够理解的汇编格式给出;
-dd 将匹配信息包的代码以c语言程序段的格式给出;
-ddd 将匹配信息包的代码以十进制的形式给出;
-e 在输出行打印出数据链路层的头部信息;
-f 将外部的Internet地址以数字的形式打印出来;
-l 使标准输出变为缓冲行形式;
-n 不把网络地址转换成名字;
-t 在输出的每一行不打印时间戳;
-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
-vv 输出详细的报文信息;
-c 在收到指定的包的数目后,tcpdump就会停止;
-F 从指定的文件中读取表达式,忽略其它的表达式;
-i 指定监听的网络接口;
-r 从指定的文件中读取包(这些包一般通过-w选项产生);
-w 直接将包写入文件中,并不分析和打印出来;
-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程 调用)和snmp(简单 网络管理协议;)
2. tcpdump的表达式介绍
表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。
在表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包括host,net,port, 例如 host
210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port
23 指明端口号是23。如果没有指定类型,缺省的类型是host.
第二种是确定传输方向的关键字,主要包括src , dst
,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src 210.27.48.2
,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0
。如果没有指明方向关键字,则缺省是src or dst关键字。
第三种是协议的关键字,主要包括fddi,ip
,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,
fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协
议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。
除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运算是 not ! , 与运算是and,&&;或运算 是or ,||;
这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。
(1)想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:
#tcpdump host 210.27.48.1
(2) 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中适用 括号时,一定要
#tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
(3) 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
(4)如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 210.27.48.1
3. tcpdump 的输出结果介绍
下面我们介绍几种典型的tcpdump命令的输出信息
(1) 数据链路层头信息
使用命令#tcpdump --e host ice
ice 是一台装有linux的主机,她的MAC地址是0:90:27:58:AF:1A
H219是一台装有SOLARIC的SUN工作站,它的MAC地址是8:0:20:79:5B:46;上一条命令的输出结果如下所示:
21:50:12.847509 eth0 ice.telne
t 0:0(0) ack 22535 win 8760 (DF)
分析:21:50:12是显示的时间, 847509是ID号,eth0 表示从网络接口设备发送数据包, 8:0:20:79:5b:46是主机H219的MAC地址,它表明是从源地址H219发来的数据包.
0:90:27:58:af:1a是主机ICE的MAC地址,表示该数据包的目的地址是ICE . ip 是表明该数据包是IP数据包,60
是数据包的长度, h219.33357 > ice.telnet
表明该数据包是从主机H219的33357端口发往主机ICE的TELNET(23)端口. ack 22535
表明对序列号是222535的包进行响应. win 8760表明发送窗口的大小是8760.
(2) ARP包的TCPDUMP输出信息
使用命令#tcpdump arp
得到的输出结果是:
22:32:42.802509 eth0 > arp who-has route tell ice (0:90:27:58:af:1a)
22:32:42.802902 eth0 表明从主机发出该数据包, arp表明是ARP请求包,
who-has route tell ice表明是主机ICE请求主机ROUTE的MAC地址。
0:90:27:58:af:1a是主机ICE的MAC地址。
(3) TCP包的输出信息
用TCPDUMP捕获的TCP包的一般输出信息是:
src > dst: flags data-seqno ack window urgent options
src > dst:表明从源地址到目的地址, flags是TCP包中的标志信息,S 是SYN标志, F (FIN), P (PUSH)
, R (RST) "." (没有标记); data-seqno是数据包中的数据的顺序号, ack是下次期望的顺序号,
window是接收缓存的窗口大小, urgent表明数据包中是否有紧急指针. Options是选项.
(4) UDP包的输出信息
用TCPDUMP捕获的UDP包的一般输出信息是:
route.port1 > ice.port2: udp lenth
UDP十分简单,上面的输出行表明从主机ROUTE的port1端口发出的一个UDP数据包到主机ICE的port2端口,类型是UDP, 包的长度是lenth
上面,我就详细介绍了TCPDUMP的安装和使用,希望会对大家有所帮助。如果想要熟练运用TCPDUMP这个LINUX环境下的SNIFFER利器,还需要大家在实践中总结经验,充分发挥它的威力。
发表评论
-
一个不错的shell 脚本教程
2015-12-16 17:01 0Linux中有好多中不同的shell,但是通常我们使用bas ... -
Linux下查看文件和文件夹大小
2015-08-27 17:16 760当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令 ... -
(转)Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
2015-06-04 16:49 1839互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已 ... -
AWK处理两个文件公共字段
2015-06-03 16:36 4185在文件score.txt中存有如下数据:(姓名 分数) ... -
linux awk的使用详解(收藏)
2014-09-03 16:04 705简介 awk是一个强大的文本分析工具,相对于grep的查 ... -
linux下通过JNI用C/C++中调用JAVA类
2012-07-20 16:15 1773最近工作中完成 ... -
Linux环境变量的设置和查看方法
2011-10-23 21:40 1741Linux是一个多用户的操作系统。每个用户登录系统后,都 ... -
Linux创建目录与删除目录命令具体分析
2010-12-13 09:40 4074最近被人问到如何在linux下创建多层目录结构,当时只是知道m ... -
linux下查看端口的状态
2010-12-01 23:02 1559netstat -tln 命令是用来查看linux的端口使用情 ... -
SUSE Linux 立即关闭防火墙的命令和指定开放某些端口(转载)
2010-08-11 14:42 8846转载自:http://www.justwinit.cn/pos ... -
xhost unable to open display解决方法
2010-08-09 09:54 4526在ixpub上看到很多朋友遇到关于xhost 命令的 ... -
守护进程
2010-07-28 17:58 1008在linux或者unix操作系统中在系统的引导的时候会开启 ... -
vi 的查找替换
2010-07-28 10:40 1294vi替换命令用法详解 : ranges /pat1/pa ... -
(转)使用 syslog-ng 搭建安全的日志集中服务器
2010-07-21 15:26 5835管理Linux系统以及应用 ... -
深入分析配置静态路由与相关命令
2010-07-21 15:16 1969配置静态路由的步骤还很简单的。由于路由器Router3除了 ... -
SUSE下使用syslog-ng部署日志服务器指导
2010-07-21 12:50 4919摘要: 日志文件集中存储是网络安全的必要手段,可将 ... -
[转]在Linux中使能IP转发
2010-07-20 17:03 2437Linux系统缺省并没有打开IP转发功能,要确认IP转发功能的 ... -
Linux命令之Ethtool
2010-07-06 10:42 1591描述:Ethtool是用于查询及设置网卡参数的命令。 概要 ... -
Linux系统的文件句柄数量问题
2010-07-01 17:40 2443在Linux下面部署应用的时候,有时候会遇上Socket/F ... -
【linux】lsof命令和{Linux下文件删除、句柄与空间释放问题}
2010-07-01 17:39 5968导读: 一、用事实说话 二、关于LSOF命令的其它用法: ...
相关推荐
tcpdump 使用详解 tcpdump 是一个功能强大的网络抓包工具,用于捕获和显示网络中的数据包。它可以帮助网络管理员和开发者来 debug 网络问题、分析网络流量、检测网络攻击等。 tcpdump 的基本使用 tcpdump 的基本...
Linux 下抓包工具 tcpdump 使用介绍 tcpdump 是一个功能强大且灵活的抓包工具,广泛应用于网络分析和测试技术中。下面是 tcpdump 的一些重要知识点: 1. Ether 广播包的匹配:tcpdump 可以匹配 ether 广播包, ...
Linux 系统抓包命令 tcpdump 使用实例 tcpdump 是 Linux 命令行下常用的一个抓包工具,记录一下平时常用的方式,测试机器系统是 Ubuntu 12.04。tcpdump 的命令格式为:tcpdump [-i 网卡] -nnAX 表达式。 参数说明...
### tcpdump 使用说明详解 #### 一、简介 `tcpdump`是一款强大的网络数据分析工具,主要用于捕获并分析网络中的数据包。它可以帮助系统管理员、网络工程师和开发人员监测网络流量,诊断网络问题,理解网络协议行为...
**TCPDump使用方法** TCPDump是一款强大的网络封包分析软件,它允许系统管理员或网络工程师在Linux、Unix以及Windows等操作系统上实时捕获并分析网络数据包。在实际工作中,TCPDump是网络故障排查、安全审计和性能...
本篇将详细介绍 `tcpdump` 的使用方法,包括基本命令格式、捕获控制参数、包显示参数以及过滤表达式。 1. **基本命令格式** 基本的 `tcpdump` 命令格式如下: ``` tcpdump [-包显示格式参数] [-捕获控制参数] '...
TCPDump 是一款强大的网络封包分析软件,...了解并熟练使用TCPDump,对于网络管理员和开发者来说,是解决网络问题和优化网络性能的重要技能。在实际应用中,可以根据具体需求灵活组合这些参数,以达到最佳的抓包效果。
以下是一些基本的tcpdump使用知识点: 1. **基本语法**:tcpdump的基本命令格式为 `tcpdump [-i interface] [expression]`。其中,`-i` 参数指定监听的网络接口,如 `eth0` 或 `wlan0`,`expression` 是用来过滤...
- `include/`: 头文件,定义了TcpDump使用的各种数据结构和函数原型。 在使用TcpDump之前,确保你有适当的权限(通常是root或sudo),因为抓取网络数据包通常需要较高的系统访问级别。同时,了解如何编写有效的过滤...
在提供的“tcpdump使用指导.txt”文件中,很可能会包含如何使用这些选项和编写过滤表达式的具体指导,包括如何跟踪特定协议、主机或服务,以及如何解析捕获的数据包内容。 tcpdump 4.1.1版本可能引入了一些改进,...
这个库不仅被tcpdump使用,还被许多其他网络监控和分析工具所依赖。`libpcap 1.2.1`同样代表了该库的一个特定版本,可能与早期版本相比,增加了新的功能或改进了兼容性。 使用`tcpdump`,你可以指定网络接口、过滤...
1. 数据包捕获引擎:tcpdump使用libpcap库来捕获网络接口上的数据包。libpcap提供了跨平台的API,使得开发者可以方便地访问网络接口并捕获数据包。在源代码中,这部分通常包含在`libpcap`目录下,涉及文件如`pcap.h`...
Tcpdump 使用表达式作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。 表达式中有三种类型的关键字: * 关于类型的关键字:host...
linux下抓包工具的使用,可以通过这个命令方便进行网络故障的排查
TCPDUMP的使用主要涉及到以下几个核心概念和操作: 1. 类型关键字: - `host`:指定具体的IP地址,表示只捕获该主机的数据包。 - `net`:指定网络地址,意味着捕获属于该网络的所有数据包。 - `port`:指定端口...
Wireshark是一款图形化的网络封包分析工具,可以配合TCPDump使用。首先用TCPDump将数据包捕获到`.pcap`文件,然后在PC上用Wireshark打开该文件,进行详细的分析和过滤。 **安全与隐私** 需要注意的是,使用TCPDump...
libpcap库不仅被tcpdump使用,许多其他网络分析和诊断工具也依赖它。 在Linux环境下编译和安装tcpdump的步骤通常包括以下几步: 1. 解压源码包:`tar -zxvf tcpdump-4.9.2.tar.gz` 2. 进入源码目录:`cd tcpdump-...
**二、TcpDump使用方法** 1. **安装与启动**: 在Linux环境下,可以通过包管理器如`apt-get`或`yum`来安装TcpDump。启动时需要指定监听的网络接口,如`tcpdump -i eth0`。 2. **基本命令行选项**: - `-n`:不将IP...