文档库 最新最全的文档下载
当前位置:文档库 › PING实验报告

PING实验报告

PING实验报告
PING实验报告

沈阳工程学院

学生实验报告

实验室名称:信息工程系软件实验室

实验课程名称:计算机网络

实验项目名称:icmp协议应用——ping解析

班级:

姓名:

学号:

实验日期:2012年04月28日实验台编号:23 指导教师:

批阅教师(签字):成绩:

篇二:网络编程实验_ping实验报告

网络编程-ping程序设计实验指导书

一.实验目的

(1)熟悉原始套接字编程。

(2)了解网络的结构。

(3)了解网络传输底层协议。

二.实验要求

ping程序是用于测试网络连通性的程序。要求在windows环境下实现基本的ping程序

功能.

在命令提示符下输入:

ping ***.***.***.*** 其中***为目的主机的ip地址,不要求支持域名,对是否带有开关变量也不做要求。不

带开关变量时,要求返回4次响应。

返回信息的格式:

reply from ***.***.***.*** 或

request timeout (无法ping通的情况)

三.实验原理

1、ping的工作原理

ping 程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不

能和这台主机建立连接。ping 使用的是icmp协议,它发送icmp回送请求消息给目的主机。

icmp协议规定:目的主机必须返回icmp回送应答消息给源主机。如果源主机在一定时间内

收到应答,则认为主机可达。

icmp协议通过ip协议发送的,ip协议是一种无连接的,不可靠的数据包协议。因此,

保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是icmp(网络控制报

文)协议。

当传送ip数据包发生错误--比如主机不可达,路由不可达等等,icmp协议将会把错

误信息封包,然后传送回给主机。给主机一个处理错误的机会,这也就是为什么说建立在ip

层以上的协议是可能做到安全的原因。icmp数据包由

8bit的错误类型和8bit的代码和16bit的校验和组成。而前 16bit就组成了icmp所要

传递的信息。

ping利用icmp协议包来侦测另一个主机是否可达。原理是用类型码为0的icmp发请求,

受到请求的主机则用类型码为8的icmp回应。ping程序来计算间隔时间,并计算有多少个

包被送达。用户就可以判断网络大致的情况。

ip数据报

tcp/ip协议定义了一个在因特网上传输的包, 称为ip数据报(ip datagram). 这是一个与硬件无关的虚拟包, 由包头和数据两部分组成, 包头中的源地址和目的地址都是

ip协议地址. icmp

tcp/ip组件包括一个icmp(internet control message protocol)协议, 该协议定义了

的报文类型: echo,echo reply,用于ping程序的基本实现下图是icmp报文的传送:

2、raw模式的socket编程

ping程序是面向用户的应用程序,该程序使用icmp的封装机制,通过ip协议来工作。

为了实现直接对ip和icmp包进行操作,实验中使用raw模式的socket编程。

熟悉socket的编程,包括基本的系统调用如socket、bind等.

3、具体内容

(1)定义数据结构

需要定义好ip数据报、icmp包等相关的数据结构

(2)程序实现

在windows环境下实现ping程序

四. 实验步骤和注意事项

1、熟悉ip以及icmp协议的工作机制

2、熟悉raw模式的socket编程

3、编写ping的实现程序

4、编译环境中需要包括socket库 ws2_32.lib

5、在模拟实现环境下调试并运行自己编写的ping程序

6、最后提交源程序,撰写实验报告

初步流程

具体步骤

1、定义ip头和icmp头

该程序定义自己的ip头和icmp头数据结构,代码如下:

//ip首部数据结构

typedef struct iphdr

{ 图

unsigned int h_len : 4 ; //首部长度

unsigned int version : 4 ; //版本

unsigned char tos ; //服务类型

unsigned short total_len ; //报文总长度

unsigned short ident ; //标识

unsigned short frag_and_flags ; //偏移量

unsigned char ttl ; //寿命

unsigned char proto ; //协议

unsigned short checksum ;// 首部校验和

unsigned int sourceip ;// 源站ip unsigned int destip ;// 目的站ip };

//icmp首部数据结构

typedef struct icmphdr

{

byte i_type ; //类型

byte i_code ; //代码

ushort i_cksum ; //首部校验和

ushort i_id ; //标识

ushort i_seq ; //序列号

ulong timestamp ; //时间戳

};

2.定义变量

wsadata wsadata ;

socket sockraw ;

struct sockaddr_in dest,from ; struct hostent*hp ;

int bread,datasize=32,packnum=6; int fromlen=sizeof(from);

int timeout=1000 ;

int statistic=0 ;

int ts=0;

char*dest_ip ;

char*icmp_data ;

char*recvbuf ;

unsigned int addr=0 ;

ushort seq_no=0 ;

int temp;

3、定义函数:

(1)void fill_icmp_data(char*icmp_data,int datasize,int ts); //填充icmp报头

void fill_icmp_data(char*icmp_data,int datasize,int ts) {

icmpheader*icmp_hdr ;

char*datapart ;

icmp_hdr=(icmpheader*)icmp_data ; icmp_hdr->i_type=icmp_echo ; icmp_hdr->i_code=0 ;

icmp_hdr->i_id=(ushort)getcurrentprocessid(); icmp_hdr->i_cksum=0 ;

icmp_hdr->i_seq=0 ;

icmp_hdr->timestamp=ts; datapart=icmp_data+sizeof(icmpheader); memset(datapart,e,datasize-sizeof(icmpheader)); }

(2)ushort checksum(ushort*buffer,int size); //计算icmp首部校验和

ushort checksum(ushort*buffer,int size)

{

unsigned long cksum=0 ;

while(size>1)

{

cksum+=*buffer++;

size-=sizeof(ushort);

}

if(size)

{

cksum+=*(uchar*)buffer ;

}

cksum=(cksum>>16)+(cksum&0xffff); cksum+=(cksum>>16);

return(ushort)(~cksum);

}

(3)int decode_resp(char*buf,int bytes,struct sockaddr_in*from); //解析收到

的数据包

int decode_resp(char*buf,int bytes,struct sockaddr_in*from) { ipheader*iphdr ;

icmpheader*icmphdr ;

unsigned short iphdrlen ;

iphdr=(ipheader*)buf ;

iphdrlen=(iphdr->h_len)*4 ; if(bytes<iphdrlen+icmp_min) {

cout<<too few bytes from

<<inet_ntoa(from->sin_addr)<<endl; }篇三:ping程序课程设计实

验报告

windows网络程序设计

课程设计

课程名称 ping程序设计姓名

马杰尤文韬伍睿潘海涛系别、专业计算机科学系网络工程一班

导师姓名、职称曹清华完成时间

2013年6月27日

目录

一概述 (1)

1.1 设计目的 (1)

1.2 功能描述 (1)

二技术理论概述 (1)

2.1 raw模式的socket编程 (1)

2.2 基本设计 (2)

三程序的具体操作 (2)

3.1 ping主模块 (2)

3.2 功能控制模块 (5)

3.3 数据报解析模块 (6)

四程序具体实现 (8)

4.1初始化模块设计实现 (8)

4.2功能控制模块的实现 (9)

4.3数据块解读模块的实现 (13)

4.4 ping设置模块的实现 (14)

五实验总结以及源代码 (15)

5.1实验总结 (16)

5.2部分关键源码 (16)

一、概述

1.1设计目的

ping程序是我们使用的比较多的用于测试网络连通性的程序。ping程序基于icmp,使

用icmp的回送请求和回送应答来工作。由计算机网络课程知道,icmp是基于ip的一个协议,

icmp包通过ip的封装之后传递。

1.2功能描述

本设计用 c语言实现的 ping命令,能用于测试一个主机到另一个主机间的联通情况,

程序还提供了几个选项以实现不同的功能。

(1)实现ping功能。程序能实现基本的ping操作,发送icmp回显请求报文,接收显

应答报文。

(2)能记录路由。程序提供了“-r”选项,用以记录从源主机到目的主机的路由。

(3)能输出指定条数的记录。程序提供了“-n”选项,用以输出指定条数的记录。

(4)能按照指定大小输出每条记录。程序提供了“datasize”选项,用以指定输出的数

据报的大小。

(5)能输出用户帮助。程序提供了用户帮助,显示程序提供的选项以及选项格

二、技术理论概述

2.1 raw模式的socket编程

ping程序是面向用户的应用程序,该程序使用icmp的封装机制,通过ip协议来工作。

为了实现直接对ip和icmp包进行操作,实验中使用raw模式的socket编程。

icmp是tcp/ip协议集中的一个子协议,属于网络层协议,主要用于在主机与路由器之

间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到ip数据无法访问目标、

ip路由器无法按当前的传输速率转发数据包等情况时,会自动发送icmp消息。我们可以通

过ping命令发送icmp回应请求消息并记录收到icmp回应回复消息,通过这些消息来对网络

或主机的故障提供参考依据。要使用该协议,我们可以进行相应的icmp设置,比如在

windows xp中,首先打开“网络连接”,右键单击启用internet连接防火墙的“网络连接”,

选择“属性”打开属性窗口。接着,选择“高级”选项卡,单击右下角“设置”按钮。然后,

在高级设置窗口中选择“icmp”选项卡,在其中就可以进行相应的设置,包括允许传

入的回显请求等。

熟悉socket的编程,包括基本的系统调用如socket、bind、listen等;

2.2基本设计

2.2.1定义数据结构

需要定义好ip数据报、icmp包等相关的数据结构;本程序定义了3个结构体:-iphdr、

-icmphdr、和-ipotionhdr,分别用于存放ip报头信息、icm p报头信息和ip路由选项信息。

2.2.2程序实现

在windows环境下实现ping程序;

2.2.3程序要求

在命令提示符下输入:

ping χχχ.χχχ.χχχ.χχχ

其中χχχ为目的主机的ip地址,不要求支持域名,对是否带有开关变量也不做要求。

不带开关变量时,要求返回4次响应。

返回信息的格式:

reply from χχχ.χχχ.χχχ.χχχ

request timeout (无法ping通的情况)。

三、程序的具体操作

3.1 ping主模块

ping()函数是本程序的核心部分,它基本是调用其他模块的函数来实现最终功能,其主

要布骤包括:定义及初始化各个全局变量、打开socket动态库、设置接收和发送超时值、域

名地址解析、分配内存、创建及初始化icmp报文、发送icmp请求报文、接收icmp 应答报

文以及解读应答报文和输出ping结果,最后释放占用的资源其流程如下页图3.1所示。

注释:

(1)该模块并非只有处理还包括判断及输出判断结果的含义;

(2)程序没运行一次就只能输出四行结果(前提是输入的地址有效),欲再次篇四:ping

命令实验报告

实验报告

实验步骤:

一、

1、

2、关闭windows防火墙。利用ping命令向几个站点发送信息,例如:“ping 192.168.31.127”。

3、使用命令提示符 arp /a 显示arp表项、出现结果即所有曾

有过联系的主机都会有显示。

二、使用命令提示符 arp /d 删除记录,再次显示表项(arp /a),则arp /a命令后,输出的结果为“no arp entries found”。如图:

出现

所以,现在直接ping ip 地址出现的结果为

使用arp /s将百度ip改错,则无法打开百度网页。改回来后又可以重

新登录百度网页。

四、利用arp /s命令增加一条错误的ip地址与mac地址映射信息,再通

过ping命令判断该计算机是否能够正常发送信息。篇五:ping实验报告

一.实验目的

ping程序是我们使用的比较多的用于测试网络连通性的程序。ping程序基

于icmp,使用icmp的回送请求和回送应答来工作。由计算机网络课程知道,

icmp是基于ip的一个协议,icmp包通过ip的封装之后传递。

课程设计中选取ping程序的设计,其目的是希望同学们通过ping程序的

设计,能初步掌握tcp/ip网络协议的基本实现方法,对网络的实现机制有进一

步的认识。

二.实验内容和要求

1、raw模式的socket编程

ping程序是面向用户的应用程序,该程序使用icmp的封装机制,通过ip 协议来工作。为了实现直接对ip和icmp包进行操作,实验中使用raw模式的

socket编程。

熟悉socket的编程,包括基本的系统调用如socket、bind等;

2.具体内容

2.1定义数据结构

需要定义好ip数据报、icmp包等相关的数据结构;

2.2程序实现

在windows环境下实现ping程序;

2.3程序要求

在命令提示符下输入:

ping χχχ.χχχ.χχχ.χχχ

其中χχχ为目的主机的ip地址,不要求支持域名,对是否带有开关变量

也不做要求。不带开关变量时,要求返回4次响应。

返回信息的格式:

reply from χχχ.χχχ.χχχ.χχχ

request timeout (无法ping通的情况)。

三.基本思路及所涉及的相关理论

3.1 功能模块设计

本系统共有 4 个模块,分别是初始化模块、功能控制模块、数据控制模块、数

据报解读模块和ping测试模块.

3.1.1 初始化模块。改模块用于初始化各个全局变量,为全局变量赋初始值;初

始化,加载库。

3.1.2功能控制模块。改模块是被其它模块调用,其功能包括获取参数、计算校

验和填充数据报文、释放占用资源和显示用户帮助。

3.1.3数据报解读模块。改模块用于解读接收到的报文和选项。

3.1.4测试模块。改模块是本程序的核心模块,调用其他模块实现其功能,主要

是实现的功能。

3.2系统流程图

系统执行的流程图2.2所示。程序首先调用iniping()函数初始化各全局

变量,然后getargments()函数获取用户输入的参数,检查用户输入的参数,如

果参数不正确或者没有输入参数,则显示用户帮助信息(user help ),并结束

程序;如果参数正确,则对指定目的地执行ping命令,如果ping通,则显示

ping结果并释放占用资源,如果没有ping通,则报告错误信息,并释放占用资

源。

图2.2 系统流程图

3.3参数获取(getargments()函数)流程

获取的参数包括“-r”(记录路由)、“-n”(记录条数程序,任意的整数)和

datasize(数据报大小)。程序首先判断每一个参数的第一字符,如果第一个字符

是“-”(短横线),则认为是“-r”或者“-n”中的一个,然后作进一步判断。

如果该参数的第二个字符是数字,则判断该参数为记录的条数,如果该参数的第

二个字符是“r”,则判断该参数为“-r”,用于记录路由;如果参数的第一个字

符是数字,则认为参数是ip地址;或者datasize,然后作进一步的判断。如果

该参数中不存在非数字的字符,则判断该参数为datasize;如果存在非数字

的字符,则判断该参数为ip地址;其他情况则判断为主机名。

3.4ping()函数流程

ping()函数是本程序的核心部分它调用其他模块的函数来实现,其主要步骤

包括创建接字,设置路由选项(如果需要的话)、设置接收和发送超时值、名字

解析(如果需要的话)、分配内存、创建icmp报文、发送icmp请求报文、接收

icmp应答报文和解读icmp报文。

四.数据结构设计

本程序定义了3个结构体:-iphdr、-icmphdr、和-ipotionhdr,分别用于

存放ip报头信息、icm p报头信息和ip路由选项信息。

4.1定义ip报头结构体

typedef struct _iphdr

{

unsigned int h_len:4; unsigned int version:4; unsigned char tos; unsigned short total_len; unsigned short ident; unsigned short frag_flags; unsigned char ttl; unsigned chor proto; unsigned short checksum; unsigned int sourceip; unsigned int destip; } ipheader;

其中各字段表示意义如下。

h-len:4 : 表示ip报头长度,首部长度指的是首部占32bit字的数目,包

括任何选项。由于它是一个4bit 字段,因此首部最长为60个

字节,不包括任何选项的ip报头是20个字节。

version:4: 表示ip的版本号,这里表示ipv4.。

top: 表示服务的类型,最小时延,最大吞吐量,最高可靠性和最小

费用。

total –len: 整个ip数据报的总长度。

ident: 唯一的标识符,标识主机发送的每一份数据报。

frag-flags: 分段标志,表示过长的数据报是否要分段。

ttl: 生存期,表示数据报可以经过的最多路由器数。

proto: 协议类型(tcp、udp等)。

checksum: 校验和。

sourceip: 源ip地址。

destip: 目的ip地址。

4.2定义icmp报头结构体

typedef struct –icmphdr

{

byte i_type;

byte i_code :

ushort i_cksum;

ushort i_id;

ushort i_seq;

ulong timestamp; } icmpheader;

其中各字段表示意义如下。

i_tye : icmp报文类型。

i_code : 该类型中的代码号,一种icmp 报文的类型号和该类型中的代码号共同决

定。、

i_cksum: 校验和。

i_seq: 序列号,序列号从0开始,每发送一次新的回显请求就加1. timestamp:

时间。

4.3定义ip 选项结构体

typedef struct _ipoptionhdr {

unsigned char code; unsigned char len; unsigned char ptr; unsigned loang addr[9]; } icmpheader;

其中各字段表示意义如下。

code: 指明ip 选项类型,对于路由记录选项,它的值是7。

len: 选项头长度。

ptr: 地址指针字段,是一个基于1的指针,指向存放下一个ip地址的位置。

1、ping命令使用详解

1、ping命令使用详解 以上就是怎么ping网速的相关介绍,你可以通过上面的说明了解怎么通过ping命令来检测网速,当然如果你想了解更多ping命令的使用方法,你可以输入ping /?,这时会显示所有有关ping命令的参数,具体如下: 用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name 选项: -t Ping 指定的主机,直到停止。 若要查看统计信息并继续操作 - 请键入 Control-Break; 若要停止 - 请键入 Control-C。 -a 将地址解析成主机名。 -n count 要发送的回显请求数。 -l size 发送缓冲区大小。 -f 在数据包中设置“不分段”标志(仅适用于 IPv4)。 -i TTL 生存时间。 -v TOS 服务类型(仅适用于 IPv4。该设置已不赞成使用,且 对 IP 标头中的服务字段类型没有任何影响)。 -r count 记录计数跃点的路由(仅适用于 IPv4)。 -s count 计数跃点的时间戳(仅适用于 IPv4)。 -j host-list 与主机列表一起的松散源路由(仅适用于 IPv4)。 -k host-list 与主机列表一起的严格源路由(仅适用于 IPv4)。 -w timeout 等待每次回复的超时时间(毫秒)。 -R 同样使用路由标头测试反向路由(仅适用于 IPv6)。 -S srcaddr 要使用的源地址。 -4 强制使用 IPv4。 -6 强制使用 IPv6。

常用网络测试命令实验报告

西安郵電學院 计算机网络技术及应用实验 报告书 院部名称:管理工程学院 学生姓名:XXX 专业名称:信息管理与信息系统班级:10XX 学号:0210XXXX 时间:2012年 5 月 4 日

一、实验目的 1.掌握基本的网络知识。 2.掌握CMD一些基本命令,并学会运用这些命令排除一些基本问题。 二、具体实验内容及步骤 1.Ping命令的使用 点击―开始‖—〉―运行‖,在―运行‖对话框―打开‖后键入cmd,按―确定‖,到命令行方式下。 实验步骤: 1)回环测试。这个ping命令被送到本地计算机IP软件。这一命令可以用来检测TCP/IP的安装或运行存在的某些最基本的问题。 C:\>ping 127.0.0.1 2)Localhost是127.0.0.1的别名,我们也可以利用localhost来进行回环测试,每台计算机都能够将名称localhost转换成地址127.0.0.1。如果做不到这一点,则表示主机文件(host)中存在问题。 C:\>ping localhost

3)Ping本机IP。若无回复,说明本地计算机的TCP/IP安装或配置存在问题。 C:\>ping –t 192.168.2.37 在命令中加入参数-t,本地计算机应该始终对该ping命令做出应答,使用ctrl+C终止操作。 4)Ping局域网内其它主机IP。该命令对局域网内的其它主机发送回送请求信息。

如果能够收到对方主机的回送应答信息,表明本地网络中的网卡和传输媒体运行正常。 C:\>ping 192.168.2.55 5)Ping网关:如果能够收到应答信息,则表明网络中的网关路由器运行正常。 C:\>ping 192.168.2.1 6)Ping域名服务器:如果能够收到应答信息,则表明网络中的域名服务器运行正常。 C:\>ping 202.117.128.2

ping命令大全

1.Ping命令详解 首先需要打开DOS命令界面,通过点击开始菜单中的“运行”选项,输“cmd”。 ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list -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 的远程计算机。 2怎样使用Ping这命令来测试网络连通呢? 连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。 首先我们讲一下使用Ping命令的步骤。 使用Ping检查连通性: 1. 使用ipconfig /all观察本地网络设置是否正确, 2. Ping 127.0.0.1,127.0.0.1 回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设置好; 3. Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误;

实验一 熟悉常用的网络命令实验报告

实验一熟悉常用的网络命令 序号:姓名:李哲旭学号:20141120117成绩指导教师: 1.实验目的: 学会使用常用ping ,ipconfig, nslookup, arp ,tracert等常用网络测试命令检测网络连通、了解网络的配置状态,跟踪路由诊断域名系统等相关网络问题。 2实验环境: (1)运行windows 8.1操作系统的PC一台 (2)每台PC机具有一块网卡,通过双绞线与局域网网相连。 (3)局域网能连接Internet 3.实验步骤: 参见实验指导手册内容。 4.实验分析,回答下列问题 (1)查看本机TCP/IP协议配置,看你的计算机是通过自动获取IP还是通过手动方式设置IP地址的?写出你判断的理由。 自动获取IP地址 (2)如果是通过手动方式获取IP地址,可以直接读出IP地址,子网掩码,默认网关,首选DNS服务器地址,备用DNS服务器地址。填写下表。 如果是采用动态获取IP地址,如何获取完整的TCP/IP配置信息,请写出解决步骤。并填写下表。 点击运行,输入cmd,使用ipconfig/all命令 IP地址113.55.91.78

子网络掩码255.255.255.255 默认网关fe80::21e:73ff:fe9a:c820%1450. 0.0.0 首选DNS服务器地址202.203.208.33 备用DNS服务器地址222.203.208.33 (3)显示完整的TCP/IP的配置信息。 (4)在获取本机IP地址之后,在MS-DOS方式下运行下列Ping命令,填写实验运行结果(可附截图)。 (a)ping本机IP地址 (b)ping 本机IP地址–t

Ping命令大全及使用方法

Ping命令大全及使用方法 2006-12-10 21:24 -- Ping命令大全及使用方法 Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP 工具。它主要的功能是用来检测网络的连通情况和分析网络速度。 Ping有好的善的一面也有恶的一面。先说一下善的一面吧。上面已经说过Ping的用途就是用来检测网络的连同情况和分析网络速度,但它是通过什么来显示连通呢?这首先要了解Ping的一些参数和返回信息。 以下是PING的一些参数: ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list -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 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由

PING命令应用(入门必看)

一、Ping 的基础知识 ping 命令相信大家已经再熟悉不过了,但是能把ping 的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping 发挥最大的功能,我也只不过经常用ping 这个工具,也总结了一些小经验,现在和大家分享一下。Ping 是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP工具。它主要的功能是用来检测网络的连通情况和分析网络速度。Ping有好的善的一面也有恶的一面。先说一下善的一面吧。 上面已经说过Ping 的用途就是用来检测网络的连同情况和分析网络速度,但它是通过什么来显示连通呢?这首先要了解Ping的一些参数和返回信息。 二、Ping命令详解 首先需要打开DOS命令界面,通过点击开始菜单中的“运行”选项,输入“cmd”回车即可打开(如下图)。 按确认键后 我们输入ping/?例出ping以下是PING的一些参数(如图):

下面我和大家讲解一下,每个参数意思和使用。 ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list -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命令的步骤。使用Ping 检查连通性有五个步骤: 1.使用ipconfig/all观察本地网络设置是否正确,如图;

实验报告2 常用网络命令的使用

计算机网络实验报告 班级信工(2)班日期 2016-5-12 学号 20130702047 姓名李格 实验名称常用网络命令的使用 一、实验目的 1. 掌握几种常用的网络命令,通过使用这些命令能检测常见网络故障。 2. 理解各命令的含义,并能解释其显示内容的意义。 二、实验步骤 (一)ping 命令的使用 1、单击开始按钮,输入cmd 并按回车键,进入windows DOS环境。 2、输入ping/? 回车,了解ping命令的基本用法。结果如下: 最常用的ping命令是在ping后面直接跟域名或IP地址。测试内网或外网的联通情况。 3、依次输入以下命令并查看分析结果。 (1)输入ping https://www.wendangku.net/doc/ae2122888.html,并回车查看分析结果。 结果如下:

分析: (2)输入ping 218.197.176.10并回车查看分析结果。结果如下: 分析: (3)输入ping https://www.wendangku.net/doc/ae2122888.html, 并回车查看分析结果。结果如下: 分析: (3)输入pi ng 121.14.1.189 并回车查看分析结果。

结果如下: 分析: 4、使用不同的参数测试ping命令。 结果如下: 分析: (二)ipconfig 命令的使用 1、单击开始按钮,输入cmd 并按回车键,进入windows DOS环境。 2、输入ipconfig/? 回车,了解ipconfig 命令的基本用法。结果如下:

3、依次输入以下命令并查看分析结果。 (1)输入ipconfig 并回车查看并分析结果。结果如下:

分析: (2)输入ipconfig/all 并回车查看分析结果。结果:

Ping命令大全

Ping命令大全 如何加强班级管理 dos命令大全 2010-05-11 17:12:50| 分类:技术文摘| 标签:|字号大中小订阅 一、DIR 命令的格式: dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted][/s][/b][/l][/c[h] (1)dir /a:attrib 缺省包含所有文件(系统文件.隐含文件) attrib[:][h/-h]只显示隐含文件或非隐含文件. [r/-r]只显示只读文件或非只读文件 [s/-s]只显示系统文件或非系统文件 [a/-a]只显示要归档文件或非归档文件 (2)/o[:]sorted:缺省完全按字母顺序,子目录显示在文件之前 /o[n/-n]:按字母顺序或按文件名顺序/反向显示 [e/-e]:按扩展名字母顺序/反向显示 [d/-d]:按时间顺序/反向显示 [s/-s]:按大小从大到小或/反向显示 [g/-g]:按子目录先于文件或文件先于子目录 (3)/s 参数:对当前目录及其子目录中所有文件进行列表 列名:dir /s/a/o:n c:\>PRN 将c盘上的所有子目录和文件按隶属关系并根据子目录和文件字母顺序打印输出 (4)/B 参数:将只显示文件名与扩展名 (5)/L 参数:将全部用小写字母对文件或子目录进行列表 训练: dir /a 列当前目录所有文件(含隐含及系统文件) dir /ah 列隐含文件(包含子目录(隐含的) dir /a-h dir /as 列系统文件dir /a-s dir /ad 列子目录dir /a-d dir /o 按字母顺序 dir /B 只显示文件名与扩展名 二、attrib [+r|-r] [+a|-a] [+s|-s] [+h|-h] [d: ] [name] [/s] 缺省attrib name 显示文件的(文件)属性 attrib io.sys (或子目录) shr c:\ io.sys 指定为系统(s) 隐含(h) 只读(r)文件 也可以attrib *.sys 显示扩展名为sys的文件属性 参数[+r|-r] 将文件属性设置或解除只读属性 [+a|-a] 将文件属性设置或解除归档属性 [+h|-h] 将文件属性设置或解除隐含属性(尤其对子目录也起作用) /s 参数将当前及当前子目录下的所有文件均起作用 可以用来查找文件 例子: attrib news86 列news86的文档属性 attrib +r report.txt 设置为只读attrib -s -h record.txt attrib +a a:*.*

Ping命令可以测试计算机名和计算机的IP地址

1、P i n g的基础知识 ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。 Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping是一个十分好用的TCP/IP工具。它主要的功能是用来检测网络的连通情况和分析网络速度。 Ping有好的善的一面也有恶的一面。先说一下善的一面吧。上面已经说过Ping的用途就是用来检测网络的连同情况和分析网络速度,但它是通过什么来显示连通呢这首先要了解Ping的一些参数和返回信息。 2、Ping命令详解 首先需要打开DOS命令界面,通过点击开始菜单中的“运行”选项,输入“cmd”,回车即可打开(如下图)。 回车后 我们输入ping/例出ping以下是PING的一些参数(如图): 下面我和大家讲解一下,每个参数意思和使用。 ping[-t][-a][-ncount][-llength][-f][-ittl][-vtos][-rcount][-scount][-jcomputer-list]|[-kcomputer-list][-wtimeout]destination-list -tPing指定的计算机直到中断。 -a将地址解析为计算机名。 -ncount发送count指定的ECHO数据包数。默认值为4。 -llength发送包含由length指定的数据量的ECHO数据包。默认为32字节;最大值是65,527。 -f在数据包中发送"不要分段"标志。数据包就不会被路由上的网关分段。 -ittl将"生存时间"字段设置为ttl指定的值。 -vtos将"服务类型"字段设置为tos指定的值。 -rcount在"记录路由"字段中记录传出和返回数据包的路由。count可以指定最少1台,最多9台计算机。 -scount指定count指定的跃点数的时间戳。 -jcomputer-list利用computer-list指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP允许的最大数量为9。 -kcomputer-list利用computer-list指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP允许的最大数量为9。 -wtimeout指定超时间隔,单位为毫秒。 destination-list指定要ping的远程计算机。 3、怎样使用Ping这命令来测试网络连通呢 连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。

实验二TCP_IP实用程序的使用实验报告

《TCP/IP实用程序的使用》 实 验 报 告 计科121 12171105景元合 2015.5.19

TCP/IP实用程序的使用 一、实验目的 1.使用Ping实用程序来测试计算机上的TCP/IP配置及测试本计算机与计算机的连接性能,确保可以在网络上通信; 2.使用Hostname实用程序来标识计算机的名称; 3.使用Ipconfig实用程序来验证计算机上的TCP/IP配置选项,包括MAC地址、IP地址、子网掩码和缺省网关等多项配置信息; 4.考察操作系统为Windows2000的计算机的TCP/IP配置。 二、实验设备及仪器 联网计算机一台 三、TCP/IP实用程序原理 TCP/IP协议组包括许多实用程序,它们允许用户访问网络上的信息。Microsoft的TCP/IP协议组提供了基本的TCP/IP实用程序,允许运行windows2000的计算机访问网络上广泛的信息。Windows2000包括三种类型的基于TCP/IP的实用程序:诊断工具、连接工具和基于服务器的软件。诊断实用程序包括Arp,Hostname,Ipcogfig,Ping,Tracfert等。 1. 诊断实用程序:诊断实用程序允许用户检测和解决网络中的问题。一些通用的诊断实用程序包括: Arp:该实用程序显示和修改地址解析协议(ARP)缓存。 Hostname:该实用程序显示计算机的名称。 Ipconfig:该实用程序显示和更新当前TCP/IP配置,包括IP地址。 Ping:该实用程序验证配置、测试两台计算机之间的IP连接。Ping从源计算机上发送ICMP 请求,目的计算机用一个ICMP回答作为回应。 Tracert:该实用程序跟踪数据包到达目的地的路径。 2. 通用实用程序示例:Hostname、Ipconfig和Ping是三个通用的TCP/IP实用程序。因为经常使用它们,因此应掌握它们的使用。 Hostname:使用该实用程序的语法为hostname。要访问该实用程序,在命令提示符下键入hostname,系统将显示出你的计算机的名称。 Ipconfig:使用该实用程序来验证而不是设置主机上的TCP/IP配置选项,包括IP地址、子网掩码和缺少网关。要开始Ipconfig实用程序,在命令行提示下键入Ipconfig。此时显示三个主要的配置参数的值。但使用这个实用程序,不能确定分配该IP地址使用的是静态的还是动态的方法。 Ipconfig/all:通过指定开关all,可以使用Ipconfig实用程序来获得更多的详细信息。要使用带有这个开关的Ipconfig实用程序,在命令行提示下键入Ipconfig/all。屏幕显示所有关于配置选项的信息。此时可以确定是否启用了DHCP。如果DHCP启用参数为是,并显示了DHCP 服务器的IP地址,则隐含该IP地址是使用DHCP获得的。DHCP服务器租借一条IP地址给一台客户机一段时间。标签Lease Obtained和Lease Expires分别显示何时获得租借及何时到期的信息。 Ping:测试连接的语法是Ping。要用IP地址或计算机名称来测试连接,键入Ping[IP地址或计算机名称]。要测试你的计算机的TCP/IP配置,可以使用本地回路。本地回路是IP地址为127.0.0.1。键Ping 127.0.0.1可使用本地回路测试系统配置。 四、实验任务、实验步骤及思考题 1. 使用Ping实用程序来测试计算机上的TCP/IP配置 登陆到Windows2000中。 单击开始,然后将鼠标指针移到程序上,再移到附件上,然后单击命令提示符。

实验一 常用网络命令的使用 实验报告

实验一、常用网络命令的使用 课程计算机网络班级2013167 姓名郑棋元 完成日期15年4月2 日课(内、外)总计本实验用时间四个小时【实验目的】 1.掌握常用网络命令的使用方法; 2.熟悉和掌握网络管理、网络维护的基本内容和方法 【实验内容】 1.阅读实验指导书提供的资料,结合本地环境对WINDOWS 常用网络命 令进行测试和练习。 2.分析总结实验场地的网络环境、拓扑结构、上网方式等。 【实验步骤和结果】 ⑴ARP:

⑵ftp

⑶Ipconfig ⑷Nbtstat

⑸net: ⑹Netstat ⑺Ping

⑻Route ⑼Telnet 没能调试出来⑽Tracert

【实验思考题】 1.说明如何了解本机及其所处网络的网络配置信息? 输入Ipconfig/all(该诊断命令显示所有当前的 TCP/IP 网络配置值) 2.若网络出现故障,说明使用网络命令进行故障检测的常用步骤? 运用Ping(验证与远程计算机的连接) ping 任一IP地址,如果能ping通,说明你的电脑的TCP/IP没有错误。 ping 自己的IP地址,如果能ping通,说明你的网卡都正常。 ping 路由。如果能通,说明你的主机到路由的物理连接还都正常。 ping 网址。如果能通却还是打不开网页,说明dns有错误。 【实验总结】 常用的网络命令虽然看起来简单,可能觉得没什么用处,但是对于网络问题的诊断却非常有用。用windows系统自带的命令行中的常用网络命令来诊断网络故障,不仅快捷,而且信息反映直观。 【实验心得与体会】 掌握了很多常用却不知道或知道却不熟悉的网络命令的使用方法,知道了两台PC机之间传输文件的多种方式。

PING命令使用方法详解

PING命令使用方法详解 PING命令的功能是验证本地计算机与远程计算机(或者是局域网内的计算机)的连接。该命令只有在安装了TCP/IP协议后才可以使用。 依次单击“开始”→“运行”,弹出“运行”对话框,在窗口中输入“CMD”,打开命令行窗口,在命令中输入“ping /?”得到PING命令用法帮助如下: Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS][-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] target_name Options: -t Ping the specified host until stopped. To see statistics and continue - type Control-Break; To stop - type Control-C. -a Resolve addresses to hostnames. -n count Number of echo requests to send. -l size Send buffer size. -f Set Don't Fragment flag in packet. -i TTL Time To Live. -v TOS Type Of Service. -r count Record route for count hops. -s count Timestamp for count hops. -j host-list Loose source route along host-list. -k host-list Strict source route along host-list. -w timeout Timeout in milliseconds to wait for each reply. Ping命令参数中文含义如下: -t Ping 指定的计算机直到中断。 -a 将地址解析为计算机名。 -n count 发送count指定的ECHO数据包数。默认值为4。 -l size 发送包含由size指定的数据量的ECHO数据包。默认为32字节,可选值为65,527 -f 在数据包中发送“不要分段”标志。数据包就不会被路由上的网关分段 -i TTL 将“生存时间”字段设置为TTL指定的值。 -v TOS 将“服务类型”字段设置为TOS指定的值。 -r count 在“记录路由”字段中记录传出和返回数据包的路由。Count可以指定最少1台,最多9台计算机。 -s count 指定count指定的跃点的时间戳。 -j host-list 利用host-list指定的计算机列表路由数据包。连续计算机可以被中间网关分隔IP允许的最大数量为9。 -k host-list 利用host-list指定的计算机列表路由数据包。连续计算机不能被中间网关分隔IP允许的最大数量为9。 -w timeout 指定超时间隔,单位为毫秒。 Ping命令用法举例: 1、Ping IP址 依次单击“开始”→“运行”,弹出“运行”对话框,在窗口中输入“CMD”,打开命令行

计算机网络实验之Ping程序的设计与实现

课程名称计算机网络 实验序号实验五 实验项目Ping程序的设计与实现 2017年03月25 日

实验报告要求 1、实验报告封面填表说明(每份实验报告必须附上封面) (1)课程名称:要求与实验大纲和实验指导书中的课程名称一致。 (2)实验序号:指该课程的第几个实验。 (3)实验项目:要求与实验大纲和实验指导书中的实验项目一致。 (4)实验地点:填写完成该实验项目所在的实验室名称。 (5)实验学时:要求与实验大纲和实验指导书中完成该实验项目所需学时一致。 (6)实验类型:是指演示性、操作性、验证性、综合性、设计性。 演示性:教师操作,学生观察,验证理论、说明原理和方法。 操作性:学生按要求动手拆装、调试实验装置或上机操作,掌握其基本原理和方法。 验证性:按实验指导书(教材)要求,由学生通过操作验证所学理论,加深对理论、知识的理解,掌握基本实验知识、方法、技能、数据处理等。 综合性:实验内容涉及本课程的综合知识或相关课程的知识,运用多的知识、多种方法,按要求或自拟实验方案进行实验。主要培养学生综合运用所学知识、实验方法和实验技能,以培养其分析、解决问题的能力。 设计性:给定实验目的、要求和实验条件,学生自己设计实验方案并加以实现的实验。学生独立完成从查阅资料、拟定实验方案、实验方法和步骤(或系统分析和设计)、选择仪器设备(或自行设计缺制作)进行实验并完成实验全过程,形成实验报告,培养学生自主实验的能力。 3、教师批改学生实验报告要求 (1)批改:全部批改及更正错误。 (2)评分:按百分制评分,不能评分为“优、良、中、差”或“A、B、C”。 (3)签名及批改日期:任课教师必须在每份学生实验报告中签名和写上批改日期。 (4)成绩:填写学生实验成绩表,实验成绩作为考试成绩评定的依据。 (4)评语:任课教师批改学生实验报告时,应给出简明扼要的评语。

ping命令详解图文

p i n g命令详解图文集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

Ping 1、P ing的基础知识 Ping 是一个十分好用的TCP/IP工具。 [功能] 用来检测网络的连通情况和分析网络速度 2、P ing命令详解 参数意思和使用。 -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 的远程计算机

DOS-PING命令详解

ping和ipconfig命令详解 ping是一个计算机网络工具,用来测试特定主机能否通过IP到达。ping的运作原理是向目标主机传出一个ICMP echo要求封包,等待接收echo回应封包。程序会按时间和反应成功的次数,估计失去封包率(丢包率)和封包来回时间(网络时延)。 1983年12月,Mike Muuss写了这个程序,在IP网络出问题时方便找出其根源。因为这个程序的运作和潜水艇的声纳相似,他便用声纳的声音来为程序取名。David L. Mills曾提出另一个取名:P acket I nter n et Grouper/Gopher(后者指地鼠)。 1.ping 使用ping可以测试计算机名和计算机的ip 地址,验证与远程计算机的连接,通过将icmp 回显数据包发送到计算机并侦听回显回复数据包来验证与一台或多台远程计算机的连接,该命令只有在安装了tcp/ip 协议后才可以使用。现在打开你的ms-dos(开始→程序 →ms-dos),用win2000的朋友打开cmd.exe(这是win2000下的ms-dos,开始→程序→附件→"命令提示符" 或开始→搜索文件或文件夹→"填入cmd.exe",找到后双击运行就可 以了。)下面我们来看看他的命令: ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list 参数 -t ping 指定的计算机直到中断。ctrl+c停止 -a 将地址解析为计算机名。例:c:\>ping -a 127.0.0.1 pinging china-hacker [127.0.0.1] with 32 bytes of data:(china-hacker就是他的计算机名) reply from 127.0.0.1: bytes=32 time<10ms ttl=128reply from 127.0.0.1: bytes=32 time<10ms ttl=128reply from 127.0.0.1: bytes=32 time<10ms ttl=128reply from 127.0.0.1: bytes=32 time<10ms ttl=128 ping statistics for 127.0.0.1:packets: sent = 4, received = 4, lost = 0 (0% loss),approximate round trip times in milli-seconds:minimum = 0ms, maximum = 0ms, average = 0ms -n count 发送count 指定的echo 数据包数。默认值为4。 -l length 发送包含由length 指定的数据量的echo 数据包。默认为32 字节;最大值是65,527。

各种命令ping的实验报告

《计算机网络技术》实验报告 实验题目:各种命令的使用 一、实验材料: PC3台;集线器1台;双绞线直通线3条; 二、实验项目: 熟练ARP命令,ping命令,tracert命令,hostname命令,icponfig命令,icpnetstat命令,netstat 命令,nbtstat命令的使用 三、实验步骤: 任务1:arp命令的使用 步骤1:显示高速Cache中的ARP表。执行命令“arp –a”,结果如图1所示。 步骤2:添加ARP动态表项。使用ping命令向一个站点发送消息,来将这个站点IP地址与MAC地址的映射关系加入到ARP表中。执行命令“ping 200.200.200.26”,然后再次使用命令“arp –a”,结果如图2所示。

步骤3:添加ARP静态表项。执行命令“arp –s 200.200.200.25 00-21-97-Cd-64-58”,再次使用命令“arp –A”,结果如图

步骤4:删除ARP表项。执行命令“arp –d 192.168.101.12”,再次使用命令“arp –a”,结果如图 任务2:ping命令的使用 步骤1:测试TCP/IP是否安装正确。执行命令“ping 127.0.0.1”,结果如图5所示。

步骤二:测试IP地址是否配置正确 输入命令:ping 200.200.200.25图所示 步骤三:测试PCA和PCB之间的连通性 输入命令:ping200.200.200.26,结果如图

步骤四:连续发送ping测试报文 在pca上执行命令ping200.200.200.26 –t 按Ctrl+C结束ping命令。结果如图

ping命令的用法大全

ping命令的用法大全! 1)如何查看本机所开端口: 用netstat -an命令查看!再stat下面有一些英文,我来简单说一下这些英文具体都代表什么~ LISTEN:侦听来自远方的TCP端口的连接请求 SYN-SENT:再发送连接请求后等待匹配的连接请求 SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认 ESTABLISHED:代表一个打开的连接 FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认 FIN-WAIT-2:从远程TCP等待连接中断请求 CLOSE-WAIT:等待从本地用户发来的连接中断请求 CLOSING:等待远程TCP对连接中断的确认 LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认 TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认 CLOSED:没有任何连接状态 ××××××××××××××××××××××××××××××××××××××××××××× 2)如何获得一个IP地址的主机名? 利用ping -a ip 命令查看!再第一行的pinging后面的『ip』前面的英文就是对方主机名! 同样道理,利用ping machine_name也可以得到对方的ip 获得一个网站的ip地址的方法是:ping https://www.wendangku.net/doc/ae2122888.html, 比如想知道sohu的ip,就用ping https://www.wendangku.net/doc/ae2122888.html,来查看就可以了~ 顺便说一句:如果返回:Reply from *.*.*.*: TTL expired in transit的话,呵呵,代表TTL(生命周期)在传输过程中过期 什么意思呢?我来解释一下! 导致这个问题出现的原因有两个:1)TTL值太小!TTL值小于你和对方主机之间经过的路由器数目。2)路由器数量太多,经过路由器的数量大于TTL值! 呵呵,其实这两点是一个意思!只不过说法不同而已! ××××××××××××××××××××××××××××××××××××××××××××× 3)如何查看本机的ip地址? 用ipconfig来查看就可以! 也可以再Windows中的开始菜单,运行中输入winipcfg,同样可以看到自己的ip

实验报告ping

计算机与信息技术学院设计性实验报告 (1)了解Linux下Socket通信的原理,了解ping程序的工作原理。 (2)了解基于原始套接字的编程方法;理解并掌握IP报头格式和ICMP报头格式。 (3)掌握常见协议,如IP、TCP报头的结构和各字段的功能; 二、实验仪器或设备 一台装有Linux操作系统的计算机。 三.总体设计(设计原理、设计方案及流程等) (1)设计原理: ping程序是用来探测主机到主机之间是否可通信,如果不能到某台主机,表明不能和这台主机建立连接。使用的是ICMP协议,它发送请求消息给目的主机。ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。如果源主机在一定时间内收到应答,则认为主机可达。 ICMP协议通过IP协议发送的,IP协议是一种无连接的,不可靠的数据包协议。因此,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP(网络控制报文)协议。 ICMP数据报的数据发送前要经过两级封装:首先是添加ICMP报头形成ICMP IP报头形成IP数据报,如下图: ICMP数据报的格式如下: (2)、设计方案: 1)PING利用ICMP协议包来侦测另一个主机是否可达。原理是用类型码为

0的ICMP发请求,收到请求的主机则用类型码为8的ICMP回应。PING程序来计算间隔时间,并计算有多少个包被送达。 2)实验中用到的结构体: Struct timeval{ Int tv_sec; //指定秒数 Int tv_usec; //微秒数 }; Struct sockaddr_in{ //用来保存套接字地址信息 Short int sin_family; Unsigned short int sin_port; Struct in_addr sin_adr; Unsigned char sin_zero[8]; }; Struct sockaddr{ //功能同上,用来保存套接字地址信息 Unsigned short sa_family; Char sa_data[14]; }; Struct in_addr //定义32位IP地址 { _u32 s_addr; }; 3)实验中用到的重要函数: a)设置套接字的属性 setsockopt(int s,int level,int optname,void *optval,socklen_t *optlen) 其中参数s为一个套接字,参数level是进行套接字选项操作的层次,可以取通用套接字,IP层套接字,TCP层套接字,参数optname是套接字选项的名称。参数optval是待设置的套接字选项的值,参数optlen是该选项的长度。 b)发送套接字函数 int sendto(int s,const void * buf,int len,unsigned flags,const struct sockaddr *to ,int tolen) 其中:s是传送数据的socket; Buf是缓冲器指针,用来存放要传送的信息; Len是Buf的大小; Flags一般为0; To为接收端网络地址; Tolen为接收端网络地址的长度; c)接收套接字函数 int recvfrom(int s,const void * buf,int len,unsigned flags,const struct sockaddr * from ,int fromlen) 参数意义同上 d)地址转换函数 char * inet_ntoa(struct in_addr in) 将函数值为in的网络字节顺序形式的二进制IP地址转换成以“.”分隔的字符串形式,执行成功返回结果字符串指针,参数无效返回NULL

相关文档