vb.net 第十一节 获取当前计算机的IP信息 GetIpStatistics

Posted VB.Net

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net 第十一节 获取当前计算机的IP信息 GetIpStatistics相关的知识,希望对你有一定的参考价值。

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
 

Imports System.Runtime.InteropServices

Public Class Form12
    'typedef struct _MIB_IPSTATS 
    '  DWORD dwForwarding; 
    '  DWORD dwDefaultTTL; 
    '  DWORD dwInReceives; 
    '  DWORD dwInHdrErrors; 
    '  DWORD dwInAddrErrors; 
    '  DWORD dwForwDatagrams; 
    '  DWORD dwInUnknownProtos; 
    '  DWORD dwInDiscards; 
    '  DWORD dwInDelivers; 
    '  DWORD dwOutRequests; 
    '  DWORD dwRoutingDiscards; 
    '  DWORD dwOutDiscards; 
    '  DWORD dwOutNoRoutes; 
    '  DWORD dwReasmTimeout; 
    '  DWORD dwReasmReqds; 
    '  DWORD dwReasmOks; 
    '  DWORD dwReasmFails; 
    '  DWORD dwFragOks; 
    '  DWORD dwFragFails; 
    '  DWORD dwFragCreates; 
    '  DWORD dwNumIf; 
    '  DWORD dwNumAddr; 
    '  DWORD dwNumRoutes; 
    ' MIB_IPSTATS, *PMIB_IPSTATS;


    'Type MIB_IPSTATS
    '    dwForwarding As Long		'启用或者禁止转发IP包(IP forwarding)
    '    dwDefaultTTL As Long		'指定默认初始化的生存时间(TTL)的值
    '    dwInReceives As Long     	'已收到数据包数目
    '    dwInHdrErrors As Long    	'已收到报头有误的数据包数目
    '    dwInAddrErrors As Long   	'已收到地址有误的数据包数目
    '    dwForwDatagrams As Long	'已转发数据报数目
    '    dwInUnknownProtos As Long	'已收到协议不明的数据报数目
    '    dwInDiscards As Long		'已收到多少已丢弃的数据报
    '    dwInDelivers As Long     	'已收到多少已投递的数据报
    '    dwOutRequests As Long  	'发送IP请求传输的数据报数目,不包括转发的数据包
    '    dwRoutingDiscards As Long	'已丢弃的发送数据报数目
    '    dwOutDiscards As Long   	'丢弃的传输数据报数目
    '    dwOutNoRoutes As Long 	'没有路由目标IP地址而被丢弃的数据报数目
    '    dwReasmTimeout As Long 	'分段数据报完全到达的最长时间,再此时间之外数据将被丢弃
    '    dwReasmReqds As Long  	'需要重组的数据报数目
    '    dwReasmOks As Long    	'已成功重组的数据报数目
    '    dwReasmFails As Long  	'不能进行重组的数据报数目
    '    dwFragOks As Long      	'已成功进行分段的数据报数目
    '    dwFragFails As Long      	'不能进行分段的数据报数目,这些数据包将被丢弃
    '    dwFragCreates As Long  	'可被分段的数据报数目
    '    dwNumIf As Long      	'接口数目
    '    dwNumAddr As Long  		'与此计算机关联的IP地址数目
    '    dwNumRoutes As Long   	'路由表中可用的路由数目
    'End Type


    <StructLayout(LayoutKind.Sequential)>
    Public Structure MIB_IPSTATS
        Public dwForwarding As Integer     '启用或者禁止转发IP包(IP forwarding)
        Public dwDefaultTTL As Integer     '指定默认初始化的生存时间(TTL)的值
        Public dwInReceives As Integer      '已收到数据包数目
        Public dwInHdrErrors As Integer        '已收到报头有误的数据包数目
        Public dwInAddrErrors As Integer       '已收到地址有误的数据包数目
        Public dwForwDatagrams As Integer    '已转发数据报数目
        Public dwInUnknownProtos As Integer  '已收到协议不明的数据报数目
        Public dwInDiscards As Integer       '已收到多少已丢弃的数据报
        Public dwInDelivers As Integer         '已收到多少已投递的数据报
        Public dwOutRequests As Integer    '发送IP请求传输的数据报数目,不包括转发的数据包
        Public dwRoutingDiscards As Integer '已丢弃的发送数据报数目
        Public dwOutDiscards As Integer    '丢弃的传输数据报数目
        Public dwOutNoRoutes As Integer     '没有路由目标IP地址而被丢弃的数据报数目
        Public dwReasmTimeout As Integer   '分段数据报完全到达的最长时间,再此时间之外数据将被丢弃
        Public dwReasmReqds As Integer     '需要重组的数据报数目
        Public dwReasmOks As Integer        '已成功重组的数据报数目
        Public dwReasmFails As Integer     '不能进行重组的数据报数目
        Public dwFragOks As Integer          '已成功进行分段的数据报数目
        Public dwFragFails As Integer          '不能进行分段的数据报数目,这些数据包将被丢弃
        Public dwFragCreates As Integer   '可被分段的数据报数目
        Public dwNumIf As Integer          '接口数目
        Public dwNumAddr As Integer          '与此计算机关联的IP地址数目
        Public dwNumRoutes As Integer      '路由表中可用的路由数目
    End Structure

    'DWORD GetIpStatistics(PMIB_IPSTATS pStats);

    'Private Declare Function GetIpStatistics Lib "iphlpapi.dll" (pStats As MIB_IPSTATS) As Long
    Private Declare Function GetIpStatistics Lib "iphlpapi.dll" (ByRef pStats As MIB_IPSTATS) As Integer

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim MIBIPSTATS As New MIB_IPSTATS
        Dim returnValue As Integer
        returnValue = GetIpStatistics(MIBIPSTATS)

        '请自行添加代码
    End Sub
End Class

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供的参考。

学习更多vb.net知识,请参看 vb.net 教程 目录

以上是关于vb.net 第十一节 获取当前计算机的IP信息 GetIpStatistics的主要内容,如果未能解决你的问题,请参考以下文章

数据链路层-第十一节:虚拟局域网VLAN概述和实现机制

第十一节——获取请求数据

vb.net 第一节 获取本机网络适配器的信息 GetAdaptersInfo

vb.net 第十六节 获取本机IP 路由表 GetIpForwardTable

第十一节,卷积神经网络

vb.net 第十节 获取本机已探测的IP – 物理地址映射表 GetIpNetTable