C# 使用网关IP获取网络上的所有设备IP

C# 使用网关IP获取网络上的所有设备IP,c#,ip-address,C#,Ip Address,我必须获取路由器/网关IP,然后每次递增最后一个八位字节以扫描所有设备。我使用函数NetworkGateway获取网关IP 为此,我首先使用IPAddress.ParseipAddress,然后使用GetAddressBytes,但它只返回xxxxxxxx,不能用于递增 AddOne方法建议也没有返回它 好主意。这里有一个Split的简单用法,我做到了 string gate_ip= NetworkGateway(); string[] array = gate_ip.S

我必须获取路由器/网关IP,然后每次递增最后一个八位字节以扫描所有设备。我使用函数NetworkGateway获取网关IP

为此,我首先使用IPAddress.ParseipAddress,然后使用GetAddressBytes,但它只返回xxxxxxxx,不能用于递增

AddOne方法建议也没有返回它

好主意。

这里有一个Split的简单用法,我做到了

    string gate_ip= NetworkGateway();
        string[] array = gate_ip.Split('.');

            for (int i = 2; i <= 255; i++)
            {

                string ping_var = array[0] +"."+array[1]+"."+array[2]+ "." + i;
                // do scanning here

            }

相关代码在哪里?Parse不是一种新方法,如果它不起作用,人们十年前就会注意到。还有xxx是什么意思`GetAddressBytes返回一个字节数组,而不是一个字符串。更新了GetAddressBytes上面的代码,当传递给19216801一个参数192.168.0.1时,它给出了19216801。我可以对19216801做些什么来获得要求呢?正如我所说,GetAddressBytes返回一个字节数组。19216801不是字节数组。您还没有发布相关代码,因此帮助您非常困难。您可以轻松地将最后一个字节的值从1更改为255,并从数组中创建一个新的IPAddress。我可以这样做并作为应答发布。您可以从字节数组中创建一个IPAddress,无需将其转换为字符串。我正在获得所需的内容。我只希望最后一个元素使其递增,这可以使用拆分。
    string gate_ip= NetworkGateway();
        string[] array = gate_ip.Split('.');

            for (int i = 2; i <= 255; i++)
            {

                string ping_var = array[0] +"."+array[1]+"."+array[2]+ "." + i;
                // do scanning here

            }