网络抓包高手用法及作用

网络抓包高手用法及作用
网络抓包高手用法及作用

linux tcpdump命令参数及用法详解--linux下抓包网络分析

linux下抓包封信工具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(简单网络管理协议;)

第一种是关于类型的关键字,主要包括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' ,'││';这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。

普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。

# tcpdump

tcpdump: listening on fxp0

11:58:47.873028 https://www.360docs.net/doc/d45847476.html,bios-ns > https://www.360docs.net/doc/d45847476.html,bios-n s: 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

使用-i参数指定tcpdump监听的网络界面,这在计算机具有多个网络界面时非常有用,

使用-c参数指定要监听的数据包数量,

使用-w参数指定将监听到的数据包写入文件中保存

A想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:

#tcpdump host 210.27.48.1

B想要截获主机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 \)

C如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:

#tcpdump ip host 210.27.48.1 and ! 210.27.48.2

D如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:

#tcpdump tcp port 23 host 210.27.48.1

E 对本机的udp 123 端口进行监视 123 为ntp的服务端口

# tcpdump udp port 123

F 系统将只对名为hostname的主机的通信数据包进行监视。主机名可以是本地主机,也可以是网络上的任何一台计算机。下面的命令可以读取主机hostname 发送的所有数据:

#tcpdump -i eth0 src host hostname

G 下面的命令可以监视所有送到主机hostname的数据包:

#tcpdump -i eth0 dst host hostname

H 我们还可以监视通过指定网关的数据包:

#tcpdump -i eth0 gateway Gatewayname

I 如果你还想监视编址到指定端口的TCP或UDP数据包,那么执行以下命令:#tcpdump -i eth0 host hostname and port 80

J 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包

,使用命令:

#tcpdump ip host 210.27.48.1 and ! 210.27.48.2

K 想要截获主机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 \)

L 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:

#tcpdump ip host 210.27.48.1 and ! 210.27.48.2

M 如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:#tcpdump tcp port 23 host 210.27.48.1

第三种是协议的关键字,主要包括fddi,ip ,arp,rarp,tcp,udp等类型

除了这三种类型的关键字之外,其他重要的关键字如下:

gateway, broadcast,less,

greater,还有三种逻辑运算,取非运算是 'not ' '! ', 与运算是'and','&&';或运算是'o

r' ,'||';

第二种是确定传输方向的关键字,主要包括

src , dst ,dst or src, dst and src ,

如果我们只需要列出送到80端口的数据包,用dst port;如果我们只希望看到返回80端口的数据包,用src port。

#tcpdump –i eth0 host hostname and dst port 80 目的端口是80

或者

#tcpdump –i eth0 host hostname and src port 80 源端口是80 一般是提供http的服务的主机

如果条件很多的话要在条件之前加and 或 or 或 not

#tcpdump -i eth0 host ! 211.161.223.70 and ! 211.161.223.71 and dst p ort 80

如果在ethernet 使用混杂模式系统的日志将会记录

May 7 20:03:46 localhost kernel: eth0: Promiscuous mode enabl ed. May 7 20:03:46 localhost kernel: device eth0 entered promiscuous mod e

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

推荐阅读:

Linux下抓包工具tcpdump应用详解

中华IT学院加入收藏【大中小】 [ 2010-3-16 ]

-

TCPDUMP简介

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

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

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

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

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

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

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

普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。

-----------------------

bash-2.02# tcpdump

tcpdump: listening on eth0

11:58:47.873028 https://www.360docs.net/doc/d45847476.html,bios-ns >

https://www.360docs.net/doc/d45847476.html,bios-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

------------------------

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

TcpDump的参数化支持

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

然而更复杂的tcpdump参数是用于过滤目的,这是因为网络中流量很大,如果不加分辨将所有的数据包都截留下来,数据量太大,反而不容易发现需要的数据包。使用这些参数定义的过滤规则可以截留特定的数据包,以缩小目标,才能更好的分析网络中存在的问题。tcpdump使用参数指定要监视数据包的类型、地

址、端口等,根据具体的网络问题,充分利用这些过滤规则就能达到迅速定位故障的目的。请使用man tcpdump查看这些过滤规则的具体用法。

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

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

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

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

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

TCP功能

数据过滤

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

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

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

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

tcpdump -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则用于网关主机。可能有点复杂,看下面例子就知道了:

tcpdump src host 192.168.0.1 and dst net 192.168.0.0/24

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

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

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

Tcpdump src host 192.168.0.1 and dst port not telnet

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

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

例如:

tcpdump ip src……

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

tcpdump udp and src host 192.168.0.1

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

数据显示/输入输出

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

-l 可以将数据重定向。

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

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

如果不使用这一项,当系统中存在某一主机的主机名时,TcpDump会把IP 地址转换为主机名显示,就像这样:eth0 < ntc9.1165>

https://www.360docs.net/doc/d45847476.html,.telnet,使用-n后变成了:eth0 < 192.168.0.9.1165 >192.168.0.1.telnet。

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

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

https://www.360docs.net/doc/d45847476.html,.23。

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

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

-O 不进行匹配代码的优化。

-t 不打印UNIX时间戳,也就是不显示时间。

-tt 打印原始的、未格式化过的时间。

-v 详细的输出,也就比普通的多了个TTL和服务类型。

[ex pression]的用法:

expr ession是tcpdump最为有用的高级用法,可以利用它来匹配一些特殊的包。下面介绍一下expression的用法,主要是如何写出符合要求最为严格expression。如果tcpdump中没有expression,那么tcpdump会把网卡上的所有数据包输出,否则会将被expression匹配的包输出。

expression 由一个或多个[primitives]组成,而[primitives]由一个或多个[qualitifer]加一个id(name)或数字组成,它们的结构如用正则表达式则可表示为:

expression = ([qualitifer]+(id|number))+

依次看来,expression是一个复杂的条件表达式,其中[qualitifer]

+(id|number)就是一个比较基本条件,qualitifer就表达一些的名称(项,变量),id或number则表示一个值(或常量)。

qualitifer共有三种,分别是:

type 表示id name或number涉及到的类型,这些词有host, nest,

port ,portrange等等。

例子:

host foo 此为一个简单的primitive,host为qualitifer, foo为id name

net 128.3 net为qualitifer, 128.3为number

port 20

等等

每个privimtive必须有一个type词,如果表达式中没有,则默认是host.

dir 指定数据传输的方向,这些词有src, dst, src or dst, src and dst

例子:

dst net 128.3 ;此为一个相对复杂的primitive,结构为dir type number,表示目标网络为128.3的条件。

src or dst port ftp-data 此为比上一个相对简的结构,src or dst表示源或目标,ftp-data为id,表示ftp协议中数据传输端口,故整体表示源或目标端口ftp-data的数据包即匹配。

如果在一个primitive中没有dir词,此默认为src or dst. 如 host foo 则表示源或目标主机为foo的数据包都匹配。

proto 此种词是用来匹配某种特定协议的,这些词包括:ether, fddi, tr, wlan, ip, ip6, arp, rarp, decnet,tcp和udp。其实这些词经常用来匹配某种协议,是使用率最高的一组词了。

上面三种qualitifer和id name或number组成一个primitive通常是下面这种方式的:

proto dir type id(number) ,即primitive=proto dir type (id | number)

如:

tcp src port 80

ip dst host 192.168.1.1

如果出现type的话,一定会出现id或num

如果出现dir,那么也会出现type,如果不出现,默认为host

而proto可单独出现,如 tcpdump 'tcp'

通过上面介绍的三种qualitifer,我们很快就可以写出一个primitive,下面我就只用一个primitive作为expression匹配数据包。

(1)匹配ether包

匹配特定mac地址的数据包。

tcpdump 'ether src 00:19:21:1D:75:E6'

匹配源mac为00:19:21:1D:75:E6的数据包其中src可改为dst, src or dst 来匹改变条件

匹配ether广播包。ether广播包的特征是mac全1.故如下即可匹配:

tcpdump 'ether dst ff:ff:ff:ff:ff:ff'

ylin@ylin:~$ su do tcpdump -c 1 'ether dst ff:ff:ff:ff:ff:ff'

tcpdump: verbose output suppres sed, use -v or -vv for full proto col decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

10:47:57.784099 arp who-has 192.168.240.77 tell 192.168.240.189

在此,只匹配1个包就退出了。第一个是arp请求包,arp请求包的是采用广播的方式发送的,被匹配那是当之无愧的。

匹配ether组播包,ether的组播包的特征是mac的最高位为1,其它位用来表示组播组编号,如果你想匹配其的多播组,知道它的组MAC地址即可。如

tcpdump 'ether dst ' Mac_Address表示地址,填上适当的即可。如果想匹配所有的ether多播数据包,那么暂时请放下,下面会继续为你讲解更高级的应用。

(2)匹配arp包

arp包用于IP到Mac址转换的一种协议,包括arp请求和arp答应两种报文,arp请求报文是ether广播方式发送出去的,也即 arp请求报文的mac地址是全

1,因此用ether dst FF;FF;FF;FF;FF;FF可以匹配arp请求报文,但不能匹配答应报文。因此要匹配arp的通信过程,则只有使用arp来指定协议。

tcpdump 'arp' 即可匹配网络上arp报文。

ylin@ylin:~$ ar ping -c 4 192.168.240.1>/dev/null& sudo tcpdump -p 'arp'

[1] 9293

WARNING: interface is ignored: Operation not pe rm itted

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

11:09:25.042479 arp who-has 192.168.240.1 (00:03:d2:20:04:28 (oui Unknown)) tell ylin.local

11:09:25.042702 arp reply 192.168.240.1 is-at 00:03:d2:20:04:28 (oui Unknown)

11:09:26.050452 arp who-has 192.168.240.1 (00:03:d2:20:04:28 (oui Unknown)) tell ylin.local

11:09:26.050765 arp reply 192.168.240.1 is-at 00:03:d2:20:04:28 (oui Unknown)

11:09:27.058459 arp who-has 192.168.240.1 (00:03:d2:20:04:28 (oui Unknown)) tell ylin.local

11:09:27.058701 arp reply 192.168.240.1 is-at 00:03:d2:20:04:28 (oui Unknown)

11:09:33.646514 arp who-has ylin.local tell 192.168.240.1

11:09:33.646532 arp reply ylin.local is-at 00:19:21:1d:75:e6 (oui Unknown)

本例中使用arping -c 4 192.168.240.1产生arp请求和接收答应报文,而tcpdump -p 'arp'匹配出来了。此处-p选项是使网络工作于正常模式(非混杂模式),这样是方便查看匹配结果。

(3)匹配IP包

众所周知,IP协议是TCP/IP协议中最重要的协议之一,正是因为它才能把Internet互联起来,它可谓功不可没,下面分析匹配IP包的表达式。

对IP进行匹配

tcpdump 'ip src 192.168.240.69'

ylin@ylin:~$ sudo tcpdump -c 3 'ip src 192.168.240.69'

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

11:20:00.973605 IP ylin.local.51486 > https://www.360docs.net/doc/d45847476.html,.ssh: S 2706301341:2706301341(0) win 5840

11:20:00.974328 IP ylin.local.32849 > 192.168.200.150.domain: 5858+ PTR? 20.200.168.192.in-addr.arpa. (45)

11:20:01.243490 IP ylin.local.51486 > https://www.360docs.net/doc/d45847476.html,.ssh: . ack 2762262674 win 183

IP广播组播数据包匹配:只需指明广播或组播地址即可

tcpdump 'ip dst 240.168.240.255'

ylin@ylin:~$ sudo tcpdump 'ip dst 192.168.240.255'

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

11:25:29.690658 IP dd.local > 192.168.240.255: ICMP echo request, id 10022, seq 1, length 64

11:25:30.694989 IP dd.local > 192.168.240.255: ICMP echo request, id 10022, seq 2, length 64

11:25:31.697954 IP dd.local > 192.168.240.255: ICMP echo request, id 10022, seq 3, length 64

11:25:32.697970 IP dd.local > 192.168.240.255: ICMP echo request, id 10022, seq 4, length 64

11:25:33.697970 IP dd.local > 192.168.240.255: ICMP echo request, id 10022, seq 5, length 64

11:25:34.697982 IP dd.local > 192.168.240.255: ICMP echo request, id 10022, seq 6, length 64

此处匹配的是ICMP的广播包,要产生此包,只需要同一个局域网的另一台主机运行ping -b 192.168.240.255即可,当然还可产生组播包,由于没有适合的软件进行模拟产生,在此不举例子。

(4)匹配TCP数据包

TCP同样是TCP/IP协议栈里面最为重要的协议之一,它提供了端到端的可靠数据流,同时很多应用层协议都是把TCP作为底层的通信协议,因为TCP的匹配是非常重要的。

如果想匹配HTTP的通信数据,那只需指定匹配端口为80的条件即可

tcpdump 'tcp dst port 80'

ylin@ylin:~$ wget https://www.360docs.net/doc/d45847476.html, 2>1 1 >/dev/null & sudo tcpdump -c 5 'tcp port 80'

[1] 10762

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

12:02:47.549056 IP https://www.360docs.net/doc/d45847476.html,.www > ylin.local.47945: S 1202130469:1202130469(0) ack 1132882351 win 2896

1460,sackOK,timestamp 3497190920 2329221,nop,wscale 2>

12:02:47.549085 IP ylin.local.47945 > https://www.360docs.net/doc/d45847476.html,.www: . ack 1 win 183

12:02:47.549226 IP ylin.local.47945 > https://www.360docs.net/doc/d45847476.html,.www: P 1:102(101) ack 1 win 183

12:02:47.688978 IP https://www.360docs.net/doc/d45847476.html,.www > ylin.local.47945: . ack 102 win 698

12:02:47.693897 IP https://www.360docs.net/doc/d45847476.html,.www > ylin.local.47945: . 1:1409(1408) ack 102 win 724

(5)匹配udp数据包

udp是一种无连接的非可靠的用户数据报,因此udp的主要特征同样是端口,用如下方法可以匹配某一端口

tcpdump 'upd port 53' 查看DNS的数据包

ylin@ylin:~$ ping -c 1 https://www.360docs.net/doc/d45847476.html, > /dev/null& sudo tcpdump -p udp port 53

[1] 11424

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

12:28:09.221950 IP ylin.local.32853 > 192.168.200.150.domain: 63228+ PTR? 43.22.108.202.in-addr.arpa. (44)

12:28:09.222607 IP ylin.local.32854 > 192.168.200.150.domain: 5114+ PTR? 150.200.168.192.in-addr.arpa. (46)

12:28:09.487017 IP 192.168.200.150.domain > ylin.local.32853: 63228 1/0/0 (80)

12:28:09.487232 IP 192.168.200.150.domain > ylin.local.32854: 5114 NXDomain* 0/1/0 (140)

12:28:14.488054 IP ylin.local.32854 > 192.168.200.150.domain: 60693+ PTR? 69.240.168.192.in-addr.arpa. (45)

12:28:14.755072 IP 192.168.200.150.domain > ylin.local.32854: 60693 NXDomain 0/1/0 (122)

使用ping https://www.360docs.net/doc/d45847476.html,目标是产生DNS请求和答应,53是DNS的端口号。

此外还有很多qualitifer是还没有提及的,下面是其它合法的primitive,在tcpdump中是可以直接使用的。

gateway host

匹配使用host作为网关的数据包,即数据报中mac地址(源或目的)为host,但IP报的源和目的地址不是host的数据包。

dst net net

src net net

net net

net net mask netmask

net net/len

匹配IPv4/v6地址为net网络的数据报。

其中net可以为192.168.0.0或192.168这两种形式。如net 192.168 或net 192.168.0.0

net net mask netmask仅对IPv4数据包有效,如net 192.168.0.0 mask 255.255.0.0

net net/len同样只对IPv4数据包有效,如net 192.168.0.0/16

dst portrange port1-port2

src portrange port1-port2

portrange port1-port2

匹配端口在port1-port2范围内的ip/tcp,ip/upd,ip6/tcp和ip6/udp

数据包。dst, src分别指明源或目的。没有则表示src or dst

less length 匹配长度少于等于length的报文。

greater length 匹配长度大于等于length的报文。

ip protochain protocol 匹配ip报文中protocol字段值为protocol的报文

ip6 protochain protocol 匹配ipv6报文中protocol字段值为protocol 的报文

如tcpdump 'ip protochain 6 匹配ipv4网络中的TCP报文,与tcpdump 'ip && tcp'用法一样,这里的&&连接两个primitive。6是TCP协议在IP报文中的编号。

ether broadcast

匹配以太网广播报文

ether multicast

匹配以太网多播报文

ip broadcast

匹配IPv4的广播报文。也即IP地址中主机号为全0或全1的IPv4报文。

ip multicast

匹配IPv4多播报文,也就是IP地址为多播地址的报文。

ip6 multicast

匹配IPv6多播报文,即IP地址为多播地址的报文。

vlan vlan_id

匹配为vlan报文,且vlan号为vlan_id的报文

到些为此,我们一直在介绍primitive是如何使用的,也即expression只有一个primitive。通过学会写好每个 primtive,我们就很容易把多个primitive组成一个expression,方法很简单,通过逻辑运算符连接起来就可以了,逻辑运算符有以下三个:

“&&” 或”and”

“||” 或“or”

“!” 或“not”

并且可通过()进行复杂的连接运算。

如tcpdump &ls quo;ip && tcp’

tcpdump ‘ host 192.168.240.3 &&( tcp port 80 || tcp port 443)’

通过上面的各种primitive,我们可以写出很丰富的条件,如ip, tcp, udp,vlan等等。如IP,可以按址址进行匹,tcp/udp可以按端口匹配。但是,如果我想匹配更细的条件呢?如tcp中只含syn标志,fin标志的报文呢?上面的primitive恐怕无能为力了。不用怕,tcpdump为你提供最后一个功能最强大的primitive,记住是 primitive,而不是expression。你可以用多个这个的primitive组成更复杂的 expression.

最后一个primitive形式为 expr relop expr

若把这个形式记为A,那么你可这样写tcpdump 'A1 && A2 && ip src 192.168.200.1',等等。

下面我们就来分析A这个形式,看看这是如何强大,如果你觉得很乱的话,建议你先用用上面的知识来实际操作几次,要不然就会很乱的,因为expression 太复杂了。

形式:expr relop expr

relop表示关系操作符,可以为>, < ,>=,<=, =, !=之一,

expr是一个算术表达式,由整数组成和二元运算符(+,-,*,/,&,|, <<, >>),长度操作,报文数据访问子。同时所有的整数都是无符号的,即

0x80000000 和 0xffffffff > 0。为了访问报文中的数据,可使用如下方式:proto [ expr : size ]

proto表示该问的报文,expr的结果表示该报文的偏移,size为可选的,表示从expr偏移量起的szie个字节,整个表达式为proto报文中,expr起的szie字节的内容(无符号整数)

下面是expr relop expr这种形式primitive的例子:

'ether[0] & 1 !=0' ether报文中第0个bit为1,即以太网广播或组播的primtive。

通过这种方式,我们可以对报文的任何一个字节进行匹配了,因此它的功能是十分强大的。

‘ip[0] = 4’ ip报文中的第一个字节为version,即匹配IPv4的报文,

如果我们想匹配一个syn报文,可以使用:'tcp[13] = 2',因为tcp的标志位为TCP报文的第13个字节,而syn在这个字节的低1位,故匹配只有syn 标志的报文,上述条件是可满要求的,并且比较严格。

如果想匹配ping命令的请求报文,可以使用'icmp[0]=8',因为icmp报文的第0字符表示类型,当类型值为8时表示为回显示请求。

对于TCP和ICMP中常用的字节,如TCP中的标志位,ICMP中的类型,这个些偏移量有时会忘记。不过tcpdump为你提供更方便的用法,你不用记位这些数字,用字符就可以代替了.

对于ICMP报文,类型字节可以icmptype来表示它的偏称量,上面的primitive可改为'icmp[icmptype] =8',如果8也记不住怎么办?tcpdump还为该字节的值也提供了字符表示,如'icmp[icmptype] = icmp-echo'。

下面是tcpdump提供的字符偏移量:

icmptype:表示icmp报文中类弄字节的偏移量

icmpcode:表示icmp报文中编码字节的偏移量

tcpflags:表示TCP报文中标志位字节的偏移量

此外,还提供了很多值来对应上面的偏移字节:

ICMP中类型字节的值可以是:

icmp-echoreply, icmp-unreach, icmp-sourceque nc h, icmp-redi‐rect, icmp-echo, icmp-routeradvert, icmp-routersolicit,

icmp-timxceed, icmp-paramprob, icmp-tstamp, icmp-tstam‐preply, icmp-ireq, icmp-ireqreply, icmp-maskreq, icmp-maskreply.

TCP中标志位字节的值可以是:

tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-ack, tcp-urg.

通过上面的字符表示,我们可以写出下面的primitive

'tcp[tcpflags] = tcp-syn' 匹配只有syn标志设置为1的 tcp报文

'tcp[tcpflags] & (tcp-syn |tcp-ack |tcp-fin) !=0' 匹配含有syn,或ack或fin标志位的TCP报文

对于IP报文,没有提供字符支持,如果想匹配更细的条件,直接使用数字指字偏移量就可以了,不过要对IP报文有更深入的了解才可以。

学会写primitive后,expression就是小菜一碟了,由一个或多个primitive 组成,并且逻辑连接符组成即可:

tcpdump ‘host 192.168.240.91 && icmp[icmptype] = icmp-echo’

tcpdump ‘host 192.168.1.100 && vrrp’

tcpdump 'ether src 00:00:00:00:00:02 && ether[0] & 1 !=0'

让你随心所欲地使用tcpdump,将不用再从复杂的输出中去挑报文了!

如此,我们可以写出更复杂的表达式来匹配报文,如IP或TCP中的报文id,IP是中的分段标志,ICMP中类型和代码等。

wireshark抓包分析报告TCP和UDP

计 算 机 网 络Wireshark抓包分析报告

目录 1. 使用wireshark获取完整的UDP报文 (3) 2. 使用wireshark抓取TCP报文 (3) 2.1 建立TCP连接的三次握手 (3) 2.1.1 TCP请求报文的抓取 (4) 2.1.2 TCP连接允许报文的抓取 (5) 2.1.3 客户机确认连接报文的抓取 (6) 2.2 使用TCP连接传送数据 (6) 2.3 关闭TCP连接 (7) 3. 实验心得及总结 (8)

1. 使用wireshark获取完整的UDP报文 打开wireshark,设置监听网卡后,使用google chrome 浏览器访问我腾讯微博的首页 p.t.qq./welcomeback.php?lv=1#!/list/qqfriends/5/?pgv_ref=im.perinfo.perinfo.icon? ptlang=2052&pgv_ref=im.perinfo.perinfo.icon,抓得的UDP报文如图1所示。 图1 UDP报文 分析以上的报文容,UDP作为一种面向无连接服务的运输协议,其报文格式相当简单。第一行中,Source port:64318是源端口号。第二行中,Destination port:53是目的端口号。第三行中,Length:34表示UDP报文段的长度为34字节。第四行中,Checksum之后的数表示检验和。这里0x表示计算机中16进制数的开始符,其后的4f0e表示16进制表示的检验和,把它们换成二进制表示为:0100 1111 0000 1110. 从wireshark的抓包数据看出,我抓到的UDP协议多数被应用层的DNS协议应用。当一台主机中的DNS应用程序想要进行一次查询时,它构成了一个DNS 查询报文并将其交给UDP。UDP无须执行任何实体握手过程,主机端的UDP为此报文添加首部字段,并将其发出。 2. 使用wireshark抓取TCP报文 2.1 建立TCP连接的三次握手 建立TCP连接需要经历三次握手,以保证数据的可靠传输,同样访问我的腾讯微博主页,使用wireshark抓取的TCP报文,可以得到如图2所示的客户机和服务器的三次握手的过程。 图2 建立TCP连接的三次握手

网络互联技术实验报告

网络互联实验报告 作者:xx通信工程(1)班第二组 组长:xx 组员:xxx、xxx、xxx、xxx、xxx、xxx、xxx、xxx、xx、xx 计算机与信息学院 2011年12月

目录 实验二:路由器与交换机配置技术 (3) 一、配置交换机设备 (3) 二、配置路由器设备 (5) 实验四:生成树与以太网链路聚合 (8) 配置端口聚合提供冗余备份链路 (8) 实验六:交换机端口安全与访问控制列表 (14) 一、配置标准访问控制网络流量 (14) 二、配置扩展访问列表保护服务器安全 (19) 三、配置命令ACL保护办公网安全 (24) 实验七:无线网络技术 (29) 一、安装无线网卡 (29) 二、组建Ad-Hoc模式无线局域网 (30) 三、组建Infrastructure无线局域网 (37) 四、计算机科学技术学院无线项目施工 (45)

实验二:路由器与交换机配置技术 (xxx xxx xxx) 一、路由器的配置 【实验目的】 掌握路由器命令,理解路由器各种不同工作模式之间的切换技术【实验设备】 路由器设备(1台)、配置主机(1台)、配置线(1条) 【实验拓扑】 【实验步骤】 (1)路由器命令行操作模式的进入 Red-Giant>enable !进入特权模式 Red-Giant# Red-Giant#configure terminal !进入全局配置模式 Red-Giant(config)# Red-Giant(config)#interface fastethernet 1/0 !进入路由器F1/0接口模式Red-Giant(config-if) Red-Giant(config-if)#exit !退回上一级操作模式 Red-Giant(config)# Red-Giant(config-if)#end !直接退回特权模式 Red-Giant#

网络协议分析——抓包分析

计算机网络技术及应用实验报告

第一部分是菜单和工具栏,Ethereal提供的所有功能都可以在这一部分中找到。 第二部分是被捕获包的列表,其中包含被捕获包的一般信息,如被捕获的时间、源和目的IP地址、所属的协议类型,以及包的类型等信息。 第三部分显示第二部分已选中的包的每个域的具体信息,从以太网帧的首部到该包中负载内容,都显示得清清楚楚。 第四部分显示已选中包的16进制和ASCII表示,帮助用户了解一个包的本来样子。 3、具体分析各个数据包 TCP分析:

源端口 目的端口序号 确认号 首部长度窗口大小值

运输层: 源端口:占2个字节。00 50(0000 0000 1001 0000) 目的端口:占2个字节。C0 d6(1100 0000 1101) 序号:占四个字节。b0 fe 5f 31(1011 0000 0101 1110 0011 0001) 确认号:占四个字节。cd 3e 71 46(1100 1101 0011 1110 0110 0001 0100 0110)首部长度:共20个字节:50(0101 0001) 窗口大小值:00 10(0000 0000 0001 00000) 网络层: 不同的服务字段:20 (0010 0000)

总的长度:00 28(0000 0000 0010 10000) 识别:81 28(1000 0001 0010 10000) 片段抵消:40 00(0100 0000 0000 0000) 生存时间:34 (0011 0100) 协议: 06(0000 0110)

69 5b(0110 1001 0101 1011) 首部来源:dd b4 15 f1(1101 1101 1011 0100 0001 0101 1110 0001) 目的地:70 04 f8 82 (0110 0000 0000 0100 1111 1000 1000 0010) 点对点协议:00 21 (0000 0000 0010 0001)

抓包分析的方法

抓包分析的方法: 1. 先按照下面的方法将抓到的包的TIME STAMP 打开。 Ethereal →view →time display format →Date and time of day 2. 假定在一定的时间段里抓到三个包A1.cap,A2.cap,A 3.cap,则在合并包的时候按照从后往前 的时间顺序,打开A3.cap 再在菜单中选 FILE ->merge-->选择相应路径,选定A2.cap 选定 merge packet chronological 并将其另存为32.cap 3. 按照2的方法,将收集到的多个包组合成为一个全包AB.CAP 。 4.打开全包AB.CAP, 如需分析H248信令,则按照如下流程过虑 i.在里边先过虑:megaco.termid=="tdm/410" ,这里的终端标识 tdm/410请依照自己节点的相应标识输入; ii.从出来的信令里找到context ID CCC 和主叫侧rtp 端口号X1X1X1X1 被叫侧rtp 端口X2X2X2X3再修改 过虑条件为megaco.termid=="tdm/410" or megaco.context==CCC 这样再过虑出来的megaco 信令另存后就是比较全的信令流程; 如需看是否有丢包,以及AG 和TG 等的打包时间等,还需进行RTP 的分析,则继续按照如下条件过虑: iii .再修改过虑条件为 UDP.port==X1X1X1X1 or UDP.port==X2X2X2X2 这样过虑出来的包都是rtp 流,再如下操作: Analyze →decode as-→(选中decode) transport 里UDP 选both →再在右面的筐里选RTP. 如图所示: 再进行如附件的操作: statistics →RTP — stream analyse 经过虑后可以看到前向和后向的rtp 的相关信息,里边有是丢包情况的统计信息,Delta 是打包时长等。 如需听听RTP 语音流是什么内容,则再按照如下操作: 选 SA VE PAYLOAD →选择存储路径->format 选Both ----→channels 选both ,并将其存为 HHH.au 这样得到的hhh.au 文件就可以用Adobe Audition 工具打开即可听到其中的话音内容。

网络互联技术实验报告

网络互联技术实验报告 熟悉常用网络测试指令 班级:B241111 学号:B24111102 姓名:杜悦

一、实验目的 (1)了解系统网络命令及其所代表的含义,以及所能对网络进行的操作。(2)通过网络命令了解网络状态,并利用网络命令对网络进行简单的操作。二、实验设备 自己的笔记本电脑,操作系统是Windows7 三、实验内容和要求 (1)利用ipconfig命令查看本机的网络配置信息 (2)利用ping 命令检测网络连通性 (3)利用arp 命令检验MAC 地址解析 (4)熟练使用netstat、ftp、tracert、pathping、nbtsat、netsh等网络命令 四、背景知识 windows操作系统本身带有多种网络命令,利用这些网络命令可以对网络进行简单的操作。需要注意是这些命令均是在cmd命令行下执行。本次实验学习8个最常用的网络命令。 五、实验准备 1.Ping命令 -t Ping指定的计算机直到中断。 -a 将地址解析为计算机名。 -n count 发送 count 指定的 ECHO 数据包数。默认值为 4 。 -l length 发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是 65,527。 -f 在数据包中发送“不要分段”标志。数据包就不会被路由上的网关分段。-i ttl 将“生存时间”字段设置为 ttl 指定的值。

-v tos 将“服务类型”字段设置为 tos 指定的值。 -r count 在“记录路由”字段中记录传出和返回数据包的路由。 count 可以指定最少 1 台,最多 9 台计算机。 -s count 指定 count 指定的跃点数的时间戳。 -j computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源) IP 允许的最大数量为 9 。 -k computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源) IP 允许的最大数量为 9 。 -w timeout 指定超时间隔,单位为毫秒。 destination-list 指定要 ping 的远程计算机。 查看ping的相关帮助信息“ping/?” 2.ipconfig命令 ipconfig是WINDOWS操作系统中用于查看主机的IP配置命令,其显示信息中还包括主机网卡的MAC地址信息。该命令还可释放动态获得的IP地址并启动新一次的动态IP分配请求。 ipconfig /all:显示本机TCP/IP配置的详细信息; ipconfig /release:DHCP客户端手工释放IP地址; ipconfig /renew:DHCP客户端手工向服务器刷新请求; ipconfig /flushdns:清除本地DNS缓存内容; ipconfig /displaydns:显示本地DNS内容; ipconfig /registerdns:DNS客户端手工向服务器进行注册; ipconfig /showclassid:显示网络适配器的DHCP类别信息; ipconfig /setclassid:设置网络适配器的DHCP类别。

wireshark抓包教程

Wireshark图解教程(简介、抓包、过滤器)配置 Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的 数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、 邮箱、msn、账号等的密码!! Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、邮箱、msn、账号等的密码!! wireshark的原名是Ethereal,新名字是2006年起用的。当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件。但由于Ethereal这个名称的使用权已经被原来那个公司注册,Wireshark这个新名字也就应运而生了。 在成功运行Wireshark之后,我们就可以进入下一步,更进一步了解这个强大的工具。下面是一张地址为192.168.1.2 的计算机正在访问“https://www.360docs.net/doc/d45847476.html,”网站时的截图。 1.MENUS(菜单) 2.SHORTCUTS(快捷方式) 3.DISPLAY FILTER(显示过滤器) 4.PACKET LIST PANE(封包列表) 5.PACKET DETAILS PANE(封包详细信息) 6.DISSECTOR PANE(16进制数据) 7.MISCELLANOUS(杂项)

1. MENUS(菜单) 程序上方的8个菜单项用于对Wireshark进行配置: -"File"(文件)-"Edit"(编辑)-"View"(查看)-"Go"(转到)-"Capture"(捕获)-"Analyze"(分析)-"Statistics"(统计) -"Help"(帮助)打开或保存捕获的信息。 查找或标记封包。进行全局设置。 设置Wireshark的视图。 跳转到捕获的数据。 设置捕捉过滤器并开始捕捉。 设置分析选项。 查看Wireshark的统计信息。 查看本地或者在线支持。 2. SHORTCUTS(快捷方式) 在菜单下面,是一些常用的快捷按钮。 您可以将鼠标指针移动到某个图标上以获得其功能说明。 3.DISPLAY FILTER(显示过滤器) 显示过滤器用于查找捕捉记录中的内容。 请不要将捕捉过滤器和显示过滤器的概念相混淆。请参考Wireshark过滤器中的详细内容。 返回页面顶部 4.PACKET LIST PANE(封包列表)

网络协议分析——抓包分析

计算机网络技术及应用实验报告开课实验室:南徐学院网络实验室

第一部分是菜单和工具栏,Ethereal提供的所有功能都可以在这一部分中找到。第二部分是被捕获包的列表,其中包含被捕获包的一般信息,如被捕获的时间、源和目的IP地址、所属的协议类型,以及包的类型等信息。 第三部分显示第二部分已选中的包的每个域的具体信息,从以太网帧的首部到该包中负载内容,都显示得清清楚楚。 第四部分显示已选中包的16进制和ASCII表示,帮助用户了解一个包的本来样子。 3、具体分析各个数据包 TCP分析:

源端口 目的端口序号 确认号 首部长度窗口大小值

运输层: 源端口:占2个字节。00 50(0000 0000 1001 0000) 目的端口:占2个字节。C0 d6(1100 0000 1101) 序号:占四个字节。b0 fe 5f 31(1011 0000 0101 1110 0011 0001) 确认号:占四个字节。cd 3e 71 46(1100 1101 0011 1110 0110 0001 0100 0110) 首部长度:共20个字节:50(0101 0001) 窗口大小值:00 10(0000 0000 0001 00000) 网络层: 不同的服务字段:20 (0010 0000)

总的长度:00 28(0000 0000 0010 10000) 识别:81 28(1000 0001 0010 10000) 片段抵消:40 00(0100 0000 0000 0000) 生存时间:34 (0011 0100) 协议: 06(0000 0110)

802.11数据抓包分析

802.11抓包分析 1.实验目的 分析802.11协议,了解802.11的帧格式 2.实验环境及工具 操作系统:ubuntu 实验工具:WireShark 3.实验原理 (1)802.11MAC层数据帧格式: Bytes 2 2 6 6 6 2 0-2312 4 Bits 2 2 4 1 1 1 1 1 1 1 1 Version:表明版本类型,现在所有帧里面这个字段都是0 Type:指明数据帧类型,是管理帧,数据帧还是控制帧,00表示管理帧,01表示控制帧,10表示数据帧 Subtype:指明帧的子类型 ,Data=0000,Data+CF-ACK=0001,Data+CF-Poll=0010, Data+CF-ACK+CF-Poll=0011,Nulldata=0100,CF-ACK=0101, CF-Poll=0110,Data+CF-ACK+CF-Poll=0111,QoS Data=1000, Qos Data+CF-ACK=1001,QoS Data+CF-Poll=1010, QoS Data+CF-ACK+CF-Poll=1011,QoS Null =1100, QoS CF-ACK=1101,QoS CF-Poll=1110,QoS Data+CF-ACK+CF-Poll=1111 To DS/From DS:这两个数据帧表明数据包的发送方向,分四种情况: 若数据包To DS为0,From DS为0,表明该数据包在网络主机间传输 若数据包To DS为0,From DS为1,表明该数据帧来自AP 若数据包To DS为1,From DS为0,表明该数据帧发送往AP 若数据包To DS为1,From DS为1,表明该数据帧是从AP发送往AP More flag.:置1表明后面还有更多段

网络风暴实验报告

《网络管理与维护》 ----实验二VLAN与网络风暴 班级:网络一班 专业:网络工程 姓名:王双双 学号: 090810127 小组:第三组 实验地点: N6-207 计算机科学与工程学院 2012年2月

一、实验要求 1、掌握巩固网络互联技术知识点。 2、完成实验分析报告。 二、实验内容 使用实验设备(包括两台二层交换机,一台路由器),按以下拓扑图(图1)搭建试验网。 1、通过连接回路在VLAN-I中设置广播风暴观察两个VLAN-I、II的网络状 况,如何消除广播风暴。 2、路由器具有隔离广播域的作用,依图2所示,搭建实验环境并分析网络状 况。 三、实验步骤

1、对交换机的配置 步骤一:将SW1划分两个VLAN,分别为VLAN10、VLAN20。 Switch#confi term Switch(config)#hostname SW1 SW1(config)#vlan 10 SW1(config-vlan)#exit SW1(config)#vlan 20 SW1(config)#end 步骤二:将接口分配到SW1上的VLAN SW1#config term SW1(config)#interface fasteternet 0/1 SW1(config-if)#switchport access vlan 10 SW1(config-if)#exit SW1(config)#interface fasteternet 0/2 SW1(config-if)#switchport access vlan 10 SW1(config-if)#exit SW1(config)#interface fastethernet 0/3 SW1(config-if)#switchport access vlan 20 SW1(config-if)#exit SW1(config)#interface fastethernet 0/4 SW1(config-if)#switchport access vlan 20 步骤三:把交换机SW1与交换机SW2相连的端口(假设为0/24端口)定义为tag vlan 模式。 SW1(config)#inter fastethernet0/24 SW1(config-if)#switchport mode trunk 步骤四:将SW2划分两个VLAN,分别为VLAN10、VLAN20。 Switch#confi term Switch(config)#hostname SW2 SW2(config)#vlan 10 SW2(config-vlan)#exit SW2(config)#vlan 20 SW2(config)#end 步骤五:将接口分配到SW2上的VLAN SW1#config term SW2(config)#interface fasteternet 0/1 SW2(config-if)#switchport access vlan 10 SW2(config-if)#exit SW2(config)#interface fasteternet 0/2 SW2(config-if)#switchport access vlan 10 SW2(config-if)#exit SW2(config)#interface fastethernet 0/3 SW2(config-if)#switchport access vlan 20 SW2(config-if)#exit

计算机网络抓包报告

西安邮电大学 《计算机网络技术与应用》 课内实验报告书 院系名称:管理工程学院 实验题目:Wireshark抓包分析实验 学生姓名: 专业名称:信息管理与信息系统 班级: 学号: 时间: 2013年06月26日

目录 1. 使用wireshark获取完整的UDP报文 (3) 2. 使用wireshark抓取TCP报文 (6) 2.1 TCP请求报文的抓取 (7) 2.2 TCP连接允许报文的抓取 (8) 2.3 客户机确认连接报文的抓取 (9) 3. 实验心得及总结 (10)

1使用wireshark获取完整的UDP报文安装Wireshark,简单描述安装步骤。

打开wireshark,选择接口选项列表。或单击“Capture”,配置“option”选项。 打开Wireshark,其界面如下图: 单击capture,配置option:

抓得的UDP 报文如图1所示。 图1 UDP报文 分析以上的报文内容,UDP作为一种面向无连接服务的运输协议,其报文格式相当简单。第一行中,Source port:64318是源端口号。第二行中,Destination port:53是目的端口号。第三行中,Length:34表示UDP报文段的长度为34字节。第四行中,Checksum之后的数表示检验和。这里0x表示计算机中16进制数的开始符,其后的4f0e表示16进制表示的检验和,把它们换成二进制表示为:0100 1111 0000 1110. 从wireshark的抓包数据看出,我抓到的UDP协议多数被应用层的DNS协议应用。当一台主机中的DNS应用程序想要进行一次查询时,它构成了一个DNS 查询报文并将其交给UDP。UDP无须执行任何实体握手过程,主机端的UDP为此报文添加首部字段,并将其发出。 2. 使用wireshark抓取TCP报文 建立TCP连接的三次握手 建立TCP连接需要经历三次握手,以保证数据的可靠传输,同样访问我的腾

无线网抓包教程

收集 2008-07-08 12:50 对于一般的用户而言,破解邻居的无线局域网密码有一定的困难,当然,使用搜索也可以搜到具体的方法与步骤。我也是初学者,以下是我整理出来的东西。有兴趣的可以看一下。 以下所使用的方法都是在Xp平台上测试的。 事先得说明,使用破解的先决条件是你必须要有要有一张airodump软件所支持的网卡,所支持网卡可以上网查一下(https://www.360docs.net/doc/d45847476.html,/support/downloads/drivers) 常用可支持网卡: ATHEROS 5212A、BROADCOM 430XMP、Cisco AIR-CB21AG、NEC WL54SC TP-LINK系列:TL-WN550G TL-WN551G TL-WN510G TLWN610G TL-WN650G TL-WN65G 芯片系列:AR5001, AR5002, AR5004, AR5005 and AR5006 1.打开Network Stumbler软件查看信号所在频道,如图为频道:11(这个是我们抓包前要知道的) 2.打开airodump进行抓包,图片以下->后面参数分别是 9 s ->9(相应无线网卡前的序号) ->a(输入o或者a选择网卡模式) ->11(无线信号的频道) ->03(抓包生成文件名,可以随便输入) ->N(是否只检测WEP加密数据包) 回车确定进行抓包

packets值为300000以上按CTRL+C结束就可以了(抓包时间要看别人无线数据了,如果对方在下载东西的话,15分内可以抓完包。值是根据密码破解难度,如果密码很简单的话,5W就可以破解出了。) 然后会在目录下生成两个文件分别为03.CAP和03.TXT

网络层数据包抓包分析

网络层数据包抓包分析 一.实验内容 (1)使用Wireshark软件抓取指定IP包。 (2)对抓取的数据包按协议格式进行各字段含义的分析。 二.实验步骤 (1)打开Wireshark软件,关闭已有的联网程序(防止抓取过多的包),开始抓包; (2)打开浏览器,输入https://www.360docs.net/doc/d45847476.html,/网页打开后停止抓包。 (3)如果抓到的数据包还是比较多,可以在Wireshark的过滤器(filter)中输入http,按“Apply”进行过滤。过滤的结果就是和刚才打开的网页相关的数据包。 (4)在过滤的结果中选择第一个包括http get请求的帧,该帧用

于向https://www.360docs.net/doc/d45847476.html,/网站服务器发出http get请求 (5)选中该帧后,点开该帧首部封装明细区中Internet Protocol 前的”+”号,显示该帧所在的IP包的头部信息和数据区: (6)数据区目前以16进制表示,可以在数据区右键菜单中选择“Bits View”以2进制表示:

(注意:数据区蓝色选中的数据是IP包的数据,其余数据是封装该IP包的其他层的数据) 回答以下问题: 1、该IP包的“版本”字段值为_0100_(2进制表示),该值代表该IP包的协议版本为: √IPv4 □IPv6 2、该IP包的“报头长度”字段值为__01000101__(2进制表示),该值代表该IP包的报头长度为__20bytes__字节。 3、该IP包的“总长度”字段值为___00000000 11101110___ (2进制表示),该值代表该IP包的总长度为__238__字节,可以推断出该IP包的数据区长度为__218__字节。 4、该IP包的“生存周期”字段值为__01000000__ (2进制表示),该值代表该IP包最多还可以经过___64__个路由器 5、该IP包的“协议”字段值为__00000110__ (2进制表示) ,该值代表该IP包的上层封装协议为__TCP__。 6、该IP包的“源IP地址”字段值为__11000000 10101000

实验一:交叉线的制作

《网络互联技术》课程实验指导书 实验一:交叉线的制作 一、实验内容 1、制作直通网线 2、制作交叉网线 二、实验目的 1、掌握EIA 586A标准 2、掌握EIA 586B标准 3、了解直通线的应用环境 4、了解交叉线的应用环境 5、学会直通线的制作 6、学会交叉线的制作 三、实验原理 直通线一般用于连接不同类别的设备,如主机与交换机、交换机与路由器。在制作直通线时,两端必须遵循相同的制作标准。要么两端全按EIA 586A标准进行制作,要么两端全按EAI 586B标准进行制作。 交叉线一般用于连接同类别的设备,如主机与主机、路由器与路由器、交换机与交换机之间的连接。由于主机接口与路由器接口类别相同,因此,主机与路由器之间的连接也采用交叉线。在制作交叉线时,一端按照586A标准进行制作,另一端要按照586B标准进行制作。 1、EIA 586A 标准 2、EIA 586B标准 3、网线正确插入的方向

四、实验仪器设备: 1、网线测试器 2、五类电缆线若干 3、水晶头若干 4、压线钳 5、剥线刀或剪刀 五、交叉线制作步骤 1、剥线:用压线钳剪线刀口将线头剪齐,再将双绞线端头伸入剥线刀口,使线头触及前挡板,然后适度握紧压线钳同时慢慢旋转双绞线,让刀口划开双绞线的保护胶皮,取出端头从而拨下保护胶皮,露出里面的4对导线。在剥线时要注意掌握好力度,不要使刀口划破里面的导线绝缘层。 2、理线:双绞线由8根有色导线两两绞合而成,若制作直通线,则将其整理成按TIA/EIA568B标准进行平行排列,整理完毕用剪线刀口将前端修齐。如果要制作交叉线,另一端则需要按照TIA/EIA568A标准。 3、插线:一只手捏住水晶头,将水晶头有弹片一侧向下,另一只手捏平双绞线,稍稍用力将排好的线平行插入水晶头内的线槽中,八条导线顶端应插入线槽顶端。 4、压线:确认所有导线都到位后,将水晶头放入夹线钳夹槽中,用力捏几下压线钳,压紧线头即可。 5、测线:制作完成后,需要使用测试仪进行网线测试。请观察测试交叉线时指示灯的显示状态,并进行记录。 6、连接:制作完成交叉线后,使用它将两台计算机直接相连,以测试网络的连通性。 六、思考问题 1、网线为什么要分为直通线和交叉线? 2、主机与路由器之间互联应使用直通线还是交叉线?为什么? 七、实验报告要求: 按学院实验报告要求完成实验报告的书写。 1、在实验名称的下方写明当前实验的时间(年月日)。 2、在实验报告中必须回答当前实验的思考问题。

实验二 网络抓包及协议分析实验

实验二网络抓包及协议分析实验 一.实验目的: 1.了解抓包与协议分析软件的简单使用方法。 2.了解并验证网络上数据包的基本结构。 二.实验环境 1.硬件:PC、配备网卡,局域网环境。 2.软件:Windows 2000或者XP操作系统、winpcap、analyzer。 三.实验内容 利用Ethereal软件抓取网络上的数据包,并作相应分析。 四.实验范例 (1)安装 Etheral的安装非常简单,只要按照提示安装即可。 (2)运行 双击桌面的Ethereal,显示“The Ethereal Network Analyzer”的主界面,菜单的功能是:(3)设置规则 这里有两种方式可以设置规则: ●使用interface 1)选择Capture—>interfaces,将显示该主机的所有网络接口和所有流经的数据包,单击“Capture”按钮,及执行捕获。 2)如果要修改捕获过程中的参数,可以单击该接口对应的“Prepare”按钮。在捕获选项对话框中,可以进一步设置捕获条件: ●Interface——确定所选择的网络接口 ●Limit each packet to N bytes——指定所捕获包的字节数。 选择该项是为了节省空间,只捕获包头,在包头中已经拥有要分析的信息。 ●Capture packet in promiscuous mode——设置成混杂模式。 在该模式下,可以记录所有的分组,包括目的地址非本机的分组。 ●Capture Filter——指定过滤规则 有关过滤规则请查阅以下使用Filter方式中的内容。 ●Capture files——指定捕获结果存放位置 ●Update list of packets in real time——实时更新分组

Wireshark抓包实例分析

Wireshark抓包实例分析 通信工程学院010611班赖宇超01061093 一.实验目的 1.初步掌握Wireshark的使用方法,熟悉其基本设置,尤其是Capture Filter和Display Filter 的使用。 2.通过对Wireshark抓包实例进行分析,进一步加深对各类常用网络协议的理解,如:TCP、UDP、IP、SMTP、POP、FTP、TLS等。 3.进一步培养理论联系实际,知行合一的学术精神。 二.实验原理 1.用Wireshark软件抓取本地PC的数据包,并观察其主要使用了哪些网络协议。 2.查找资料,了解相关网络协议的提出背景,帧格式,主要功能等。 3.根据所获数据包的内容分析相关协议,从而加深对常用网络协议理解。 三.实验环境 1.系统环境:Windows 7 Build 7100 2.浏览器:IE8 3.Wireshark:V 1.1.2 4.Winpcap:V 4.0.2 四.实验步骤 1.Wireshark简介 Wireshark(原Ethereal)是一个网络封包分析软件。其主要功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。其使用目的包括:网络管理员检测网络问题,网络安全工程师检查资讯安全相关问题,开发者为新的通讯协定除错,普通使用者学习网络协议的

相关知识……当然,有的人也会用它来寻找一些敏感信息。 值得注意的是,Wireshark并不是入侵检测软件(Intrusion Detection Software,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark 撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。Wireshark本身也不会送出封包至网络上。 2.实例 实例1:计算机是如何连接到网络的? 一台计算机是如何连接到网络的?其间采用了哪些协议?Wireshark将用事实告诉我们真相。如图所示: 图一:网络连接时的部分数据包 如图,首先我们看到的是DHCP协议和ARP协议。 DHCP协议是动态主机分配协议(Dynamic Host Configuration Protocol)。它的前身是BOOTP。BOOTP可以自动地为主机设定TCP/IP环境,但必须事先获得客户端的硬件地址,而且,与其对应的IP地址是静态的。DHCP是BOOTP 的增强版本,包括服务器端和客户端。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的DHCP 要求;而客户端则会使用从服务器分配下来的IP环境数据。 ARP协议是地址解析协议(Address Resolution Protocol)。该协议将IP地址变换成物理地址。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。 让我们来看一下数据包的传送过程:

《网络互联技术》实验报告

《网络互联技术》实验报告书 专业: 学号:

姓名: 实验1 交换机/路由器的基本配置和管理 一、【实验目的】 1、通过电缆实现交换机/路由器与PC机的连接; 2、通过交换机/路由器的开机启动报告了解交换机的硬件参数; 3、掌握交换机/路由器的常用命令. 二、【实验环境】 1 实验设备: 硬件:交换机、路由器个一台,PC机一台,console电缆及接口转换器。 软件:超级终端程序。 2 设备连接图:用console连接到交换机、路由器上 三、【实验内容】 1 通过Telnet访问交换机、路由器; 2 复制、备份配置文件。 四、【实验步骤】 步骤1访问交换机、路由器 1.用Cosole电缆将PC机的串口与交换机的Console端口相连; 2.在超级终端程序中按Enter键,记录超级终端程序窗口会出现的信息 3.进入特权模式,让交换机重启,记录交换机加电启动报告。 步骤2 交换机、路由器的基本配置 1.进入交换机的全局配置模式 2.配置交换机的设备名,设备名为Switch; 3.配置加密的特权密码为cisco1,验证特权密码:退出到用户模式,再进入特权模式。 4.查看交换机的版本,记录结果; 5.交换机的mac地址表

A、查看交换机的mac地址表,并记录结果; B、查看PC机的mac地址 步骤3配置交换机、路由器的端口属性 1.配置f0/1端口的速度为100M,命令: 2.配置f0/1端口为全双工,命令: 3.配置f0/1端口的描述为TO_PC1,命令: 4.启用f0/1端口;命令: 5.查看端口f0/1的信息,并记录结果。命令为 6.查看端口f0/1的状态,命令为: 7.查看所有端口的状态,并记录结果。命令为: 8.查看所有端口的IP摘要信息。命令为: 步骤4配置交换机、路由器管理接口的IP地址 1.进入配置Vlan1 接口子模式,命令: 2.配置Vlan1 接口的IP地址为192.168.1.1 4.启用Vlan1接口; 5.查看Vlan1接口的信息,并记录结果。命令为: 6.配置PC机的IP地址为192.168.1.10; 7.在PC机上ping 192.168.1.1;是否ping 通? 五、【实验结果与分析】 附注:【交换机的操作EXEC模式有】 1.用户模式[主机名>]:可以执行EXEC命令的一部分 2.特权模式[主机名#]:可以执行全部的EXEC命令 3.配置模式: 全局配置模式[主机名(config)#]:配置交换机的整体参数 接口配置模式[主机名(config-if)#]:配置交换机的接口参数 VLAN配置模式[主机名(config-VLAN)#]:配置交换机的VLAN参数4.交换机操作EXEC模式特点: 1) 支持命令简写(输入的字符串足够使系统识别,按TAB键将命令补充完整) 2) 在每种操作模式下直接输入“?”显示该模式下所有的命令 3) 命令空格“?”显示命令参数并对其解释说明 4) 常用的交换机配置命令有: Switch#show version//显示交换机硬件及软件的信息 Switch#show running-config//显示当前运行的配置参数 Switch#show configure//显示保存的配置参数 Switch#write memory//将当前运行的配置参数复制到flash Switch#delete flash:config.text//清空flash中的配置参数 Switch#reload交换机重启System configuration has been modified. Save? [yes/no]:n Switch(config)#hostname S2126G//配置交换机的主机名 Switch#configure terminal/进入全局配置模式下/ Switch(config)#interface fastEthernet 0/1 //进入接口配置模式 S2126G(config-if)#speed [10|100|auto]// 配置接口速率

l7-filter教程抓包篇

l7-filter教程抓包篇 一、抓包篇 过滤器指定本机ip 开启应用,全局抓包 相当多的http包,这是刚刚开启ppstream的一些广告和贫道信息的链接。随便开个频道看电视,重新启动一个wireshark进程

小部分的http包和大部分的udp包。 注意:抓包时注意不要开其他程序,避免其他进程的干扰。 二、分析数据包篇: 前面提到已经抓取了ppstream开启某个频道后的数据包,接下来的步骤是对数据包进行分析。随便挑选一个数据包,数据交换部分的数据包。 记录目的ip地址为61.147.114.38 过滤器中追踪该ip地址

得到了本地ip和远程目的ip之间所有的交互过程 分析第一个包的应用层内容 说明:这是一个pps协议的连接的握手包。这个包有明显的数据特征就是数据包中含有“pps”, 但是不能直接过滤“pps”,会导致pps网站都打不开。 4、重复步骤1,再换个ip 看到首个通讯包的内容,相差不多。 大致为: 5400434671ff000100010047007070733a2f2f68776a78656a77716561366e6e756a7a326171612e7070732f31303039 33302dd6edccecc9fac1bdccf5cdc8c1b7becdb5b9c1a2d0d0d7df2d616877732e776d76 TCFqGpps://hwjxejwqea6nnujz2aqa.pps/100930--ahws.wmv 从这里可以看到,pps://hwjxejwqea6nnujz2aqa.pps/100930--ahws.wmv后面拖的这一串肯定是获取的视频的文件,而前面的5400434671ff00010001004700正是ppstream应用层的数据包。可以类比于http的get 或者post。 不断重复过程1、2、3,对比这段数据包的内容,终于可以发现,有一项是固定不变的那就是 XX0043XXXXXXXX......,00不能作为特征,因此pps的特征即为第二个数据包为43。 ^.\x43不能写成这样的L7表达式,因为必然会引起误杀,存在其他大量的数据包都有可能第二个数据包为43,因此后面还有再加内容。之前提到ppstream获取的视频内容信息总是以pps的协议连接,因此ppstream的表达式为^.\x43.+pps

IP抓包分析

IP抓包实验 一.数据截图 二.分析 这个IP协议报文我是在访问一个网站时抓到的。 从截图中我们可以看到IP的版本号(Version)为4,即IPV4协议。首部长度(Head length)为20字节。服务类型(differentiated services field)为0000,说明是一般服务。数据报总长度(total length)为56 。标识(identification)为0x4a28(18984),由信源机产生,每次自动加1,当IP数据报被分片时,每个数据分片仍然沿用该分片所属的IP数据报的标识符,信宿机根据该标识符完成数据报重组。标志(FLAGS)为0x04,表示不允许分片(DON'T FRAGMENT),标志用于是否允许分片以及是否是最后一片。片位移(fragment

offset)为0,表示本片数据在它所属数据报数据区中的偏移量,是信宿机进行各分片的重组提供顺序依据。生存时间(time to live)为64,用来解决循环路径问题,数据报没经过一个路由器,TTL减1,当TTL减为0时,如果仍未到达信宿机,便丢弃该数据报。协议标识(protocol)为0x06,表示被封装的协议为TCP。首部校验和(head checksum)为0xf5f4,表示首部数据完整。源主机(客户机)地址为192.168.0.103,目的主机(服务器)地址为220.181.92.222。 0806580121 刘敏 2011年1月9日

妈妈新开了个淘宝店,欢迎前来捧场 妈妈的淘宝点开了快半年了,主要卖的是毛绒玩具、坐垫、抱枕之类的,感觉妈妈还是很用心的,花了不少功夫,所以我也来出自己的一份力,帮忙宣传一下。 并且妈妈总是去五亭龙挑最好的玩具整理、发货,质量绝对有保证。另外我家就在扬州五亭龙玩具城旁边,货源丰富,质量可靠,价格便宜。 欢迎大家来逛逛【扬州五亭龙玩具总动员】https://www.360docs.net/doc/d45847476.html,

相关文档
最新文档