问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

tcpdump是什么意思.干什么用的.哪里有详细的资料,

发布网友 发布时间:2022-04-20 07:11

我来回答

1个回答

热心网友 时间:2022-05-06 06:46

TCPDUMP简介

在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一。sniffer工具首先是为网络管理员和网络程序员进行网络分析而设计的。对于网络管理人员来说,使用嗅探器可以随时掌握网络的实际情况,在网络性能急剧下降的时候,可以通过sniffer工具来分析原因,找出造成网络阻塞的来源。对于网络程序员来说,通过sniffer工具来调试程序。

用过windows平台上的sniffer工具(例如,netxray和sniffer pro软件)的朋友可能都知道,在共享式的局域网中,采用sniffer工具简直可以对网络中的所有流量一览无余!Sniffer工具实际上就是一个网络上的抓包工具,同时还可以对抓到的包进行分析。由于在共享式的网络中,信息包是会广播到网络中所有主机的网络接口,只不过在没有使用sniffer工具之前,主机的网络设备会判断该信息包是否应该接收,这样它就会抛弃不应该接收的信息包,sniffer工具却使主机的网络设备接收所有到达的信息包,这样就达到了网络监听的效果。

Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是必不可少的。所以,今天我们就来看看Linux中强大的网络数据采集分析工具——TcpDump。

用简单的话来定义tcpmp,就是:mp the traffice on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。

作为互联网上经典的的系统管理员必备工具,tcpmp以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的东东之一。

顾名思义,TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

tcpmp提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpmp存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。

普通情况下,直接启动tcpmp将监视第一个网络界面上所有流过的数据包。
-----------------------
bash-2.02# tcpmp
tcpmp: listening on eth0
11:58:47.873028 202.102.245.40.netbios-ns > 202.102.245.127.netbios-ns: udp 50
11:58:47.974331 0:10:7b:8:3a:56 > 1:80:c2:0:0:0 802.1d ui/C len=43
0000 0000 0080 0000 1007 cf08 0900 0000
0e80 0000 902b 4695 0980 8701 0014 0002
000f 0000 902b 4695 0008 00
11:58:48.373134 0:0:e8:5b:6d:85 > Broadcast sap e0 ui/C len=97
ffff 0060 0004 ffff ffff ffff ffff ffff
0452 ffff ffff 0000 e85b 6d85 4008 0002
0640 4d41 5354 4552 5f57 4542 0000 0000
0000 00
^C
------------------------

首先我们注意一下,从上面的输出结果上可以看出来,基本上tcpmp总的的输出格式为:系统时间 来源主机.端口 > 目标主机.端口 数据包参数

TcpDump的参数化支持

tcpmp支持相当多的不同参数,如使用-i参数指定tcpmp监听的网络界面,这在计算机具有多个网络界面时非常有用,使用-c参数指定要监听的数据包数量,使用-w参数指定将监听到的数据包写入文件中保存,等等。

然而更复杂的tcpmp参数是用于过滤目的,这是因为网络中流量很大,如果不加分辨将所有的数据包都截留下来,数据量太大,反而不容易发现需要的数据包。使用这些参数定义的过滤规则可以截留特定的数据包,以缩小目标,才能更好的分析网络中存在的问题。tcpmp使用参数指定要监视数据包的类型、地址、端口等,根据具体的网络问题,充分利用这些过滤规则就能达到迅速定位故障的目的。请使用man tcpmp查看这些过滤规则的具体用法。

显然为了安全起见,不用作网络管理用途的计算机上不应该运行这一类的网络分析软件,为了屏蔽它们,可以屏蔽内核中的bpfilter伪设备。一般情况下网络硬件和TCP/IP堆栈不支持接收或发送与本计算机无关的数据包,为了接收这些数据包,就必须使用网卡的混杂模式,并绕过标准的TCP/IP堆栈才行。在FreeBSD下,这就需要内核支持伪设备bpfilter。因此,在内核中取消bpfilter支持,就能屏蔽tcpmp之类的网络分析工具。

并且当网卡被设置为混杂模式时,系统会在控制台和日志文件中留下记录,提醒管理员留意这台系统是否被用作攻击同网络的其他计算机的跳板。

May 15 16:27:20 host1 /kernel: fxp0: promiscuous mode enabled

虽然网络分析工具能将网络中传送的数据记录下来,但是网络中的数据流量相当大,如何对这些数据进行分析、分类统计、发现并报告错误却是更关键的问题。网络中的数据包属于不同的协议,而不同协议数据包的格式也不同。因此对捕获的数据进行解码,将包中的信息尽可能的展示出来,对于协议分析工具来讲更为重要。昂贵的商业分析工具的优势就在于它们能支持很多种类的应用层协议,而不仅仅只支持tcp、udp等低层协议。

从上面tcpmp的输出可以看出,tcpmp对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的。显然这不利于分析网络故障,通常的解决办法是先使用带-w参数的tcpmp 截获数据并保存到文件中,然后再使用其他程序进行解码分析。当然也应该定义过滤规则,以避免捕获的数据包填满整个硬盘。

TCP功能

数据过滤

不带任何参数的TcpDump将搜索系统中所有的网络接口,并显示它截获的所有数据,这些数据对我们不一定全都需要,而且数据太多不利于分析。所以,我们应当先想好需要哪些数据,TcpDump提供以下参数供我们选择数据:

-b 在数据-链路层上选择协议,包括ip、arp、rarp、ipx都是这一层的。

例如:tcpmp -b arp 将只显示网络中的arp即地址转换协议信息。

-i 选择过滤的网络接口,如果是作为路由器至少有两个网络接口,通过这个选项,就可以只过滤指定的接口上通过的数据。例如:

tcpmp -i eth0 只显示通过eth0接口上的所有报头。

src、dst、port、host、net、ether、gateway这几个选项又分别包含src、dst 、port、host、net、ehost等附加选项。他们用来分辨数据包的来源和去向,src host 192.168.0.1指定源主机IP地址是192.168.0.1,dst net 192.168.0.0/24指定目标是网络192.168.0.0。以此类推,host是与其指定主机相关无论它是源还是目的,net是与其指定网络相关的,ether后面跟的不是IP地址而是物理地址,而gateway则用于网关主机。可能有点复杂,看下面例子就知道了:

tcpmp src host 192.168.0.1 and dst net 192.168.0.0/24

过滤的是源主机为192.168.0.1与目的网络为192.168.0.0的报头。

tcpmp ether src 00:50:04:BA:9B and dst……

过滤源主机物理地址为XXX的报头(为什么ether src后面没有host或者net?物理地址当然不可能有网络喽)。

Tcpmp src host 192.168.0.1 and dst port not telnet

过滤源主机192.168.0.1和目的端口不是telnet的报头。

ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型。
例如:

tcpmp ip src……

只过滤数据-链路层上的IP报头。

tcpmp udp and src host 192.168.0.1

只过滤源主机192.168.0.1的所有udp报头。

数据显示/输入输出

TcpDump提供了足够的参数来让我们选择如何处理得到的数据,如下所示:

-l 可以将数据重定向。

如tcpmp -l >tcpcap.txt将得到的数据存入tcpcap.txt文件中。

-n 不进行IP地址到主机名的转换。

如果不使用这一项,当系统中存在某一主机的主机名时,TcpDump会把IP地址转换为主机名显示,就像这样:eth0 < ntc9.1165> router.domain.net.telnet,使用-n后变成了:eth0 < 192.168.0.9.1165 > 192.168.0.1.telnet。

-nn 不进行端口名称的转换。

上面这条信息使用-nn后就变成了:eth0 < ntc9.1165 > router.domain.net.23。

-N 不打印出默认的域名。

还是这条信息-N 后就是:eth0 < ntc9.1165 > router.telnet。

-O 不进行匹配代码的优化。
-t 不打印UNIX时间戳,也就是不显示时间。
-tt 打印原始的、未格式化过的时间。
-v 详细的输出,也就比普通的多了个TTL和服务类型。

TCPDUMP的安装

在linux下tcpmp的安装十分简单,一般由两种安装方式。一种是以rpm包的形式来进行安装。另外一种是以源程序的形式安装。
1. rpm包的形式安装
#rpm -ivh tcpmp-3_4a5.rpm
这样tcpmp就顺利地安装到你的linux系统中。怎么样,很简单吧。
2. 源程序的安装
#tar xvfz tcpmp-3_4a5.tar.Z
rpm的包可以使用如下命令安装:
#rpm -ivh tcpmp-3_4a5.src.rpm
这样就把tcpmp的源代码解压到/usr/src/redhat/SOURCES目录下.

第二步 做好编译源程序前的准备活动

在编译源程序之前,最好已经确定库文件libpcap已经安装完毕,这个库文件是tcpmp软件所需的库文件 。同样,你同时还要有一个标准的c语言编译器。在linux下标准的c 语言编译器一般是gcc。 在tcpmp的源程序目录中。有一个文件是Makefile.in,configure命令就是从Makefile.in文件中自动产生Makefile文件。在Makefile.in文件中,可以根据系统的配置来修改BINDEST 和 MANDEST 这两个宏定义,缺省值是
BINDEST = @sbindir@
MANDEST = @mandir@

第一个宏值表明安装tcpmp的二进制文件的路径名,第二个表明tcpmp的man 帮助页的路径名,你可以修改它们来满足系统的需求。

第三步 编译源程序

使用源程序目录中的configure脚本,它从系统中读出各种所需的属性。并且根据Makefile.in文件自动生成Makefile文件,以便编译使用.make 命令则根据Makefile文件中的规则编译tcpmp的源程序。使用make install命令安装编译好的tcpmp的二进制文件。

总结一下就是:

# tar xvfz tcpmp-3_4a5.tar.Z
# vi Makefile.in
# . /configure
# make
# make install

关于tcpmp更详细的信息,请查看Man tcpmp。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
科幻,诡异,恐怖的FPS游戏,电脑 求生化丧尸类的FPS游戏 不恐怖的虐怪FPS 最恐怖的fps游戏? 哪位大虾推荐一些配置低的恐怖射击游戏(FPS)高手进。跪求! 文艺风象 落落 一共有多少本??!!! 文艺风象·零嘴儿编辑推荐 文艺风象·零嘴儿基本信息 文艺风象·零嘴儿内容简介 文艺风象·特集零嘴儿内容简介 实验验证为什么tcpdump输出看到cksum错误 TCPDUMP 抓包 怎么查看 抓的包的内容 如何读懂tcpdump的输出 宝宝拉肚子能吃煮熟的梨吗 拉肚子可以吃梨吗 宝宝拉肚子能吃梨吗 呕吐拉肚子可以吃梨吗 拉肚子能吃梨和西瓜吗 拉肚子可以吃煮梨么 小孩子拉肚子时可以吃梨不? 小孩拉肚子可不可以吃梨? 小孩拉肚子能吃梨吗 宝宝拉肚子能吃梨子吗 拉肚子能吃梨子吗? 拉肚子的人还可以吃梨吗 拉肚子后可以吃梨吗 拉肚子能吃梨子吗 拉肚子能吃梨吗 拉肚子可以吃梨子吗 拉肚子了还可以吃梨吗 请教,为何我tcpdump到自己在不断发dns查询 linux下tcpdump抓包存在什么位置 如何用tcpdump命令截完整的数据包 Ophone tcpdump 为什么没有输出 tcpdump怎样抓包的同时进行打印和解析 请问电脑处于sniffer状态是什么意识啊? 求助哈。关于UDP和ARP之间的交互作用,这个怎么进... 如何使用tcpdump来捕获TCP SYN,ACK和FIN包 redis bind 网段 组播v3 怎么tcpdump抓包 sniffer状态 Linux抓包如何分包 tcpdump可否抓到http2 收银机商品条码怎么输入?急急急各位兄弟姐妹 10岁小学生青春修炼手册短发编什么头发好看女生 十岁小学生短发怎么扎 十岁小学生写的毁三观小说 小学生自编现代诗歌 小学生自编成语故事大全 小学生编的简单古诗