簡體   English   中英

將IP地址范圍轉換為CIDR格式,反之亦然

[英]Convert IP addresses range to CIDR format and vice versa

我需要將IP范圍轉換為CIDR表示法,反之亦然。我通過以下方式通過IPNetwork庫解決了該問題:

CIDR轉換為range:

    var ip = IPNetwork.Parse("192.168.168.100/24");
    Console.WriteLine(ip.FirstUsable.ToString() + "/" + ip.LastUsable.ToString());

並從范圍轉換為CIDR

    IPNetwork network = IPNetwork.Parse("192.168.168.0");
    IPNetwork network2 = IPNetwork.Parse("192.168.168.255"); 
    IPNetwork ipnetwork = IPNetwork.Supernet(network, network2);
    Console.WriteLine(ipnetwork.FirstUsable + "/" + ipnetwork.Cidr);

似乎可以正常工作。 但是,當我使用自定義工具時,它們會返回一些不同的結果。

對於192.168.168.100/24

IPNetwork LIB回報192.168.168.1 - 192.168.168.254

http://www.ipaddressguide.com/cidr返回192.168.168.0 - 192.168.168.255

http://ipconvertertools.com/cidr2ipranges返回192.168.168.1 - 192.168.168.254

http://ip2cidr.com/bulk-ip-to-cidr-converter.php返回

192.168.168.1/32
192.168.168.2/31
192.168.168.4/30
192.168.168.8/29
192.168.168.16/28

當我嘗試將192.168.168.1 - 192.168.168.254轉換為CIDR 我真的很困惑,不同的工具會返回不同的結果。 另外,我的目標是為用戶創建白名單,並在用戶到來時檢查其IP ,因此這是一個非常重要的問題。

給定CIDR標記為192.168.168.100/24:

Network address is 192.168.168.0 
First usable address is 192.168.168.1
Last usable address is 192.168.168.254 
Broadcast address is 192.168.168.255 
Network mask is 255.255.255.0

沒有歧義也不能沒有歧義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM