关于网友提出的“ 如何判断两IP是否在同一网段”问题疑问,本网通过在网上对“ 如何判断两IP是否在同一网段”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 如何判断两IP是否在同一网段
描述: 现在要做一个函数,要求能够判断任意两IP是否在同一网段。我只知道需要将两IP先进行转换成二进制的数,然后再进行相与,将两个与的结果进行比较。同,则在同一网段,否则,不在同一网段。
如:ip1 = 10.13.135.9
ip2 = 10.14.140.8
先转换
ip1 = 00001010.00001101.10000111.000010001
ip2 = 00001010.00001110.10001100.000010000
ip1 00001010.00001101.10000111.000010001
& mask 11111111.11111111.11111111.000000000
-----------------------------------------------------
ip1 00001010.00001101.10000111.000000000
ip2 00001010.00001110.10001100.000010000
& mask 11111111.11111111.11111111.000000000
-----------------------------------------------------
ip2 00001010.00001110.10001100.000000000
由 ip1 00001010.00001101.10000111.000000000
ip2 00001010.00001110.10001100.000000000
得出: ip1 != ip2
哪位大侠能不能给出C或者C++ 的代码,小弟才疏学浅,望不吝赐教!
解决方案1: 你可以用winsocket的函数inet_addr把字符型ip转换成usigned long型ip就可以与了。
以上介绍了“ 如何判断两IP是否在同一网段”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3794496.html