suchen
HeimDatenbankMySQL-Tutorial自制Ping(2) Structures

IP Helper ICMP相关接口主要用到两个结构,ICMP_ECHO_REPLY和IP_OPTION_INFORMATION ICMP_ECHO_REPLY structure ICMP_ECHO_REPLY 表示IPv4请求的响应信息所返回的数据 语法 typedef struct icmp_echo_reply { IPAddr Address; ULONG Status; ULONG RoundTripT

IP Helper ICMP相关接口主要用到两个结构, ICMP_ECHO_REPLY和IP_OPTION_INFORMATION


ICMP_ECHO_REPLY structure

ICMP_ECHO_REPLY表示IPv4请求的响应信息所返回的数据

语法

typedef struct icmp_echo_reply {
    IPAddr    Address;
    ULONG     Status;
    ULONG     RoundTripTime;
    USHORT    DataSize;
    USHORT    Reserved;
    PVOID     Data;
    struct    ip_option_information    Options;
} ICMP_ECHO_REPLY, *PICMP_ECHO_REPLY;


成员

Address

Type: IPAddr

响应的IPv4地址,IPAddr 格式.

Status

Type: ULONG

请求状态类型为IP_STATUS.可以是下列值, 这些值定义在Ipexport.h:

Value

Meaning

IP_SUCCESS

0

成功

IP_BUF_TOO_SMALL

11001

接受数据的缓存太小

IP_DEST_NET_UNREACHABLE

11002

目标网络无法访问

IP_DEST_HOST_UNREACHABLE

11003

目标主机无法访问

IP_DEST_PROT_UNREACHABLE

11004

目标协议无法访问

IP_DEST_PORT_UNREACHABLE

11005

目标端口无法访问

IP_NO_RESOURCES

11006

可用IP资源不足

IP_BAD_OPTION

11007

指定了一个有问题的IP选项(option)

IP_HW_ERROR

11008

发生硬件错误

IP_PACKET_TOO_BIG

11009

数据报太大

IP_REQ_TIMED_OUT

11010

请求超时

IP_BAD_REQ

11011

有问题的请求

IP_BAD_ROUTE

11012

有问题的路由

IP_TTL_EXPIRED_TRANSIT

11013

传输时生存周期(TTL)过期.

IP_TTL_EXPIRED_REASSEM

11014

分段重组时生存周期(TTL)过期

IP_PARAM_PROBLEM

11015

一个参数有问题

IP_SOURCE_QUENCH

11016

数据报到达太快处理不过来, 并且数据报可能已被丢弃.

IP_OPTION_TOO_BIG

11017

一个IP选项(option)被舍得过大.

IP_BAD_DESTINATION

11018

一个有问题的目的地.

IP_GENERAL_FAILURE

11050

常规错误. 当某些ICMP数据报格式不正确时可能会收到此错误.

 

RoundTripTime

Type: ULONG

往返时间,单位毫秒

DataSize

Type: USHORT

应答数据大小,单位byte

Reserved

Type: USHORT

系统保留.

Data

Type: PVOID

应答数据

Options

Type: structip_option_information

应答数据的IP标头中的IP选项(options),格式为IP_OPTION_INFORMATION . 内涵TTL等信息.

备注

IcmpParseReplies()分析ICMP_ECHO_REPLY得到IPv4 请求的应答数据. 64位平台对应ICMP_ECHO_REPLY32.

对于IPv4,成员Status 的组合方式遵循RFC 792.

GetIpErrorString()用于根据对应于IP_STATUS中的错误状态,检索IP helper失败描述信息

ICMP_ECHO_REPLY结构定义在Ipexport.h在中,Ipexport.h被自动包含在Iphlpapi.h.头文件Ipexport.h不应被直接使用.

要求

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Ipexport.h (include Iphlpapi.h)

 



IP_OPTION_INFORMATION structure

IP_OPTION_INFORMATION结构体存放了IP标头中的配置选项(options)

语法

typedef struct ip_option_information {
    UCHAR    Ttl;
    UCHAR    Tos;
    UCHAR    Flags;
    UCHAR    OptionsSize;
    PUCHAR    OptionsData;
} IP_OPTION_INFORMATION, *PIP_OPTION_INFORMATION;

成员

Ttl

类型UCHAR

IPv4报头中表示生存周期字段.IPv6报头中表示跳数限制(HopLimit)字段

Tos

类型UCHAR

IPv4中表示服务类型字段.该成员目前正被忽略.

Flags

类型UCHAR

标志字段.IPv4中这个标志包含在报头中.IPv6中这个字段表示为选项(options)

对于IPv4,Flags 可以是下列值的组合,它们都定义在Ipexport.h:

Value

Meaning

IP_FLAG_REVERSE

0x01

使IP包添加到源IP路由表头中. 仅适用于Vista及以上版本.

IP_FLAG_DF

0x02

表示IP包不应被分段.

 

OptionsSize

类型UCHAR

IP选项数据大小,单位bytes.

OptionsData

类型PUCHAR

选项(options)数据.

备注

IP_OPTION_INFORMATION表示IP报头中的选项(options).64位平台上,对应IP_OPTION_INFORMATION32.

TTLTOS  Flags对应于IP报头的特定字段.

OptionsData对应于紧随标准IP报头的options.

除了IPv4的源路由选项(options)以外,选项(options)数据必须遵循RFC 791协议在链路中按照指定格式发送.一个IPv4源路由选项(option)应该包含从第一跳到目的地的完整路由.

对于IPv6,选项(options)数据必须遵循RFC 2460协议在链路上按照指定格式发送.

IP_OPTION_INFORMATIONICMP_ECHO_REPLY的一个成员,它在IcmpSendEchoIcmpSendEcho2, Icmp6SendEcho2中都有应用.

该结构体定义在Ipexport.h,Ipexport.h包含在Iphlpapi.h.Ipexport.h头文件不应直接使用.

要求

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Ipexport.h (include Iphlpapi.h)

 


Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
如何修复 Xbox Series S/X 下载速度、降低 ping 和延迟如何修复 Xbox Series S/X 下载速度、降低 ping 和延迟Apr 16, 2023 pm 04:49 PM

多年来,Xbox控制台得到了突飞猛进的改进。多年来,游戏不断发展,具有栩栩如生的功能,而游戏玩家似乎无法获得足够的体验。在Xbox上玩您最喜欢的游戏可能是一种完全引人入胜的体验。但是,有时使用这些高级功能,如果互联网速度不是那么好,我们最终会遇到延迟或ping问题。有时我们希望游戏下载速度更快。如今,像ForzaHorizo​​n5和MortalKombat这样的游戏需要超过100GB的内存。如果我们没有正确的互联网设置来帮助我们,下载此类游戏可能需要很长时间。方法1:通过

ping请求超时是什么原因ping请求超时是什么原因Aug 28, 2023 pm 04:17 PM

ping请求超时的原因有目标主机不可达、网络拥堵、防火墙或安全设置和DNS解析问题等。详细介绍:1、目标主机不可达,Ping请求超时可能意味着目标主机无法通过网络访问,可能是由于目标主机关闭了网络连接、目标主机所在的网络出现故障、目标主机IP地址设置错误等原因导致;2、网络拥堵,Ping请求超时也可能是由于网络拥堵导致的,网络拥堵可能是由于大量的数据传输、网络设备故障等等。

网关Ping不通怎么回事?Ping不通什么原因?网关Ping不通怎么回事?Ping不通什么原因?Mar 13, 2024 pm 03:40 PM

  网络ping不通,是什么回事?其实这是个非常常见的问题了,主要分为两种情况,同网段ping不通和不同网段ping不通,下面就来看看详细内容吧。  同网段ping不通的原因ping命令无法连接的情况通常有两种:一是在同一网段内无法ping通的IP地址,另一种是在不同网段内无法ping通的IP地址。这两种情况具有不同的解决方法。首先,我们来讨论在同一网段内ping不通的情况。  一、同网段ping不通,结果是“无法访问目标主机”  目的ip和源ip是同一网段的,ping的结果是&l

报错提示“ping不是内部或外部命令也不是可运行程序”怎么解决报错提示“ping不是内部或外部命令也不是可运行程序”怎么解决Feb 22, 2023 pm 04:28 PM

解决方法:1、点击“开始”按钮,在开始菜单中依次点击“控制面板”-“系统”;2、在设置界面,依次点击“高级系统设置”-“高级”-“环境变量”;3、查看Administrator的用户变量中是否有Path变量,若是没有看到此变量,点击“新建”,添加变量Path和变量值即可。

ping不通ip地址的原因有哪些ping不通ip地址的原因有哪些Dec 15, 2020 pm 04:37 PM

ping不通ip地址的原因有:1、对方关机或ip地址不存在;2、网段不同,通过路由无法找到;3、防火墙过滤了ping发出的ICMP数据包;4、ip地址设置错误;5、网线故障;6、未设置网关。

几个简单的linux ping命令使用示例几个简单的linux ping命令使用示例Jan 09, 2024 am 08:26 AM

发觉linux下的ping命令花样还挺多的,下面是几个例子1、pingwww.baidu.com,最粗糙的用法,此时主机将不停地向目的地址发送ICMPechorequest数据包,直至你按下Ctrl+c2、ping-Ieth0www.baidu.com或ping-I192.168.8.151www.baidu.com,即-I选项可以指定发送ping包的网卡,-I后接网卡名或者网卡的IP地址都是可以的3、ping-c3www.baidu.com,-c选项可以指定发送多少个ICMP包,可以看到主机接

ping的ttl值初略判断操作系统类别有哪些ping的ttl值初略判断操作系统类别有哪些May 22, 2023 am 09:04 AM

往往可以通过ping的ttl值初略的判断一些操作系统的类别,这边整理一下大概如下UNIX及类UNIX操作系统ICMP回显应答的TTL字段值为255CompaqTru645.0ICMP回显应答的TTL字段值为64微软WindowsNT/2K操作系统ICMP回显应答的TTL字段值为128微软Windows95操作系统ICMP回显应答的TTL字段值为32当然这些ttl值还可以更改,Windows系列的系统可以通过修改注册表以下键值实现:[HKEY_LOCAL_MACHINE\system\Curren

如何在CakePHP中创建自定义Helper?如何在CakePHP中创建自定义Helper?Jun 04, 2023 pm 06:40 PM

CakePHP是一个流行的PHP框架,它提供了许多实用的工具和功能,使开发人员的工作变得更为高效。其中之一就是Helper机制,它可以在视图文件中提供有用的函数和方法。在本文中,我们将探讨如何在CakePHP中创建自定义Helper。一、创建Helper类在CakePHP中,Helper都存放在'app/View/Helper'目录下。创建一个新的Hel

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version