您的位置:首页 > 其它

如何判断两台电脑是不是在同一网段内

2014-11-20 06:42 232 查看
如何判断两台电脑是不是在同一网段内。

一个IP地址分为网络地址和主机地址。其中网络地址是用来区分是否在同一网段内。那如何区分网络地址和主机地址呢?其实是通过子网掩码来实现的。

例如:一个IP地址为:172.20.100.52

子网掩码为:255.255.255.192

把子网掩码用二进制表示:11111111.11111111.11111111.11000000

其中子网掩码对应“1”全部为网络地址。主机地址全部为:“0”

这里有26位为网络地址。主机地址为6位。

那么他表示一个IP地址的前26为网络地址。

把IP地址用二进制表示:10101100.00010100.01100100.00110100

26位网络地址为:10101100.00010100.01100100.00000000

用十进制表示:172.20.100.0

所以他的网络地址为:172.20.100.0

C# 获取IP地址和子网掩码

首先。添加程序集,引入命名空间 using system.management。

ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");

ManagementObjectCollection nics = mc.GetInstances();

foreach (ManagementObject nic in nics)

{

if (Convert.ToBoolean(nic["ipEnabled"]) == true)

{

string mac = nic["MacAddress"].ToString();//Mac地址

string ip = (nic["IPAddress"] as String[])[0];//IP地址

string ipsubnet = (nic["IPSubnet"] as String[])[0];//子网掩码

string ipgateway = (nic["DefaultIPGateway"] as String[])[0];//默认网关

}

}

这样就能判断两台电脑是不是在同一网段内了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: