.net 根据ip获得局域网主机名和物理地址
来源:互联网 发布:淘宝模特招聘58同城 编辑:程序博客网 时间:2024/06/06 01:01
1.使用命名空间
using System.Runtime.InteropServices;
2.使用api
[DllImport(“ws2_32.dll”)]
private static extern int inet_addr(string cp);
[DllImport(“IPHLPAPI.dll”)]
private static extern int SendARP(Int32 DestIP, Int32 SrcIP, ref Int64 pMacAddr, ref Int32 PhyAddrLen);
3.方法
/// <summary> /// 根据IP获得对应的硬件信息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button14_Click(object sender, EventArgs e) { try { StringBuilder sb = new StringBuilder(); string ip = "192.168.1.111"; string hostname = Dns.GetHostByAddress(ip).HostName.ToString(); // 取得主机名 sb.Append("主机名:" + hostname + "\n"); string macAddress = GetMacAddress(ip); sb.Append("mac地址:" + macAddress + "\n"); MessageBox.Show(sb.ToString()); } catch (Exception ex) { MessageBox.Show(ex.Message); } } /// <summary> /// 获取远程IP(不能跨网段)的MAC地址 /// </summary> /// <param name="hostip"></param> /// <returns></returns> private string GetMacAddress(string hostip) { string Mac = ""; try { //将IP地址从 点数格式转换成无符号长整型 Int32 ldest = inet_addr(hostip); Int64 macinfo = new Int64(); Int32 len = 6; SendARP(ldest, 0, ref macinfo, ref len); //转换成16进制,注意有些没有十二位 string TmpMac = Convert.ToString(macinfo, 16).PadLeft(12, '0'); Mac = TmpMac.Substring(0, 2).ToUpper(); for (int i = 2; i < TmpMac.Length; i = i + 2) { Mac = TmpMac.Substring(i, 2).ToUpper() + "-" + Mac; } } catch (Exception Mye) { Mac = "获取远程主机的MAC错误:" + Mye.Message; } return Mac; }
0 0
- .net 根据ip获得局域网主机名和物理地址
- 根据主机名查ip,局域网内,通过主机名获得IP
- 获得局域网内IP地址和主机名
- [VB.NET]获得主机名和IP地址
- 根据主机名获得IP及根据IP获得主机名
- 根据计算机名获得IP,和根据IP获得主机名(转)
- 局域网内根据Ip查询主机名
- 获得主机名和ip地址
- 获得主机名 和 IP地址
- 获得主机名和IP地址
- C++获得主机名和IP
- 局域网其他计算机的主机名和ip
- 获取局域网的ip和主机名
- 获取局域网的主机名和ip
- Linux下根据局域网IP查看主机名命令
- 在局域网内中 通过IP地址得到对应的主机名及MAC物理地址
- 获得本地主机名和IP地址
- 获得主机的IP和主机名
- 最小堆和最小堆排序
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
- hadoop强制进行Active/Standby切换需要注意的问题
- Oracle主机身份证明中的用户名和口令错误的解决方法
- No Data There was no data available.Possible reasons include inaccessible
- .net 根据ip获得局域网主机名和物理地址
- wget下载网站的目录
- CDH 主机准备就绪,无法继续问题
- hadoop节点一块硬盘故障更换方法
- CDH安装报错Hive must also be configured with YARN.
- android 事件分发 拦截 (onInterceptTouchEvent dispatchTouchEvent onTouchEvent)
- 枚举enum
- codis 的dashboard服务无法启动 提示pid已经运行
- Anaconda和Pycharm安装和配置教程