C# 通过IP获取Mac地址(ARP)

这篇具有很好参考价值的文章主要介绍了C# 通过IP获取Mac地址(ARP)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C# 通过IP获取Mac地址文章来源地址https://www.toymoban.com/news/detail-779329.html

[DllImport("Iphlpapi.dll")]
private static unsafe extern int SendARP(Int32 dest, Int32 host, ref Int32 mac, ref Int32 length);

[DllImport("Ws2_32.dll")]
private static extern Int32 inet_addr(string ip);

public static string GetMACFromIP(string ip)
{
    string strRet = "";
    Int32 intDest = inet_addr(ip);
    Int32[] arrMAC = new Int32[2];
    Int32 intLen = 6;
    int intResult = SendARP(intDest, 0, ref arrMAC[0], ref intLen);
    if (intResult == 0)
    {
        Byte[] arrbyte = new Byte[8];
        arrbyte[5] = (Byte)(arrMAC[1] >> 8);
        arrbyte[4] = (Byte)arrMAC[1];
        arrbyte[3] = (Byte)(arrMAC[0] >> 24);
        arrbyte[2] = (Byte)(arrMAC[0] >> 16);
        arrbyte[1] = (Byte)(arrMAC[0] >> 8);
        arrbyte[0] = (Byte)arrMAC[0];
        StringBuilder strbMAC = new StringBuilder();
        for (int intIndex = 0; intIndex < 6; intIndex++)
        {
            if (intIndex > 0) strbMAC.Append("-");
            strbMAC.Append(arrbyte[intIndex].ToString("X2"));
        }
        strRet = strbMAC.ToString();
    }
    return strRet;
}

到了这里,关于C# 通过IP获取Mac地址(ARP)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DHCP静态分配IP地址、IP-MAC绑定、静态ARP有哪些区别?

    DHCP静态分配IP地址、IP-MAC绑定、静态ARP这三个功能都涉及到IP地址和MAC地址的对应关系,但其应用场景及实现的功能有所不同,如表所示: 原文地址https://support.huawei.com/enterprise/zh/knowledge/EKB1000052241

    2024年02月15日
    浏览(36)
  • 计算机网络实验二 ARP协议以及IP地址和MAC地址关系

    1.掌握ARP协议常用命令; 2.掌握ARP协议的工作过程; 3.掌握IP地址和MAC地址的关系; 1.掌握ARP协议常用命令。 2.掌握ARP协议的工作过程; (1)学习:视频学习Cisco Packet Tracer中的集线器和交换机的区别 (2)配置一个包括两个网络的互联网(可参照下图1),并将IP地址和MAC地址相应信

    2024年02月05日
    浏览(74)
  • UDP报头、TCP报头、IP报头、MAC头部、ARP头部

    前言:DUP报头、TCP报头、IP报头、MAC头部、ARP头部。 UDP报头由八个字节组成,每个字段都是两个字节 : 1.源端口号:发送方端口号, 需要对方回信的时候选用,不需要对方回信的时候置0 2.目的端口号:接收方端口号 , 在终点交付报文时需要用到 3.长度:UDP用户数据报的长

    2024年02月03日
    浏览(36)
  • 【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)

    3.7.1 MAC地址 MAC地址(Media Access Control address)是网络设备(如网卡、无线网卡)在数据链路层上的唯一标识符。以下是有关MAC地址的一些要点: 描述:MAC地址是一个由48个二进制位(通常以十六进制表示)组成的全球唯一标识符,用于识别计算机网络中每个网络接口(NIC)的

    2024年02月13日
    浏览(43)
  • 【网络】UDP报头、TCP报头、IP报头、MAC头部、ARP头部

    前言:DUP报头、TCP报头、IP报头、MAC头部、ARP头部。 UDP报头由八个字节组成,每个字段都是两个字节 : 1.源端口号:发送方端口号, 需要对方回信的时候选用,不需要对方回信的时候置0 2.目的端口号:接收方端口号 , 在终点交付报文时需要用到 3.长度:UDP用户数据报的长

    2024年02月07日
    浏览(33)
  • IP、MAC地址,交换机路由器,ARP、NAT协议串讲

    MAC 地址在数据链路层工作,是绑定物理网卡,出厂时决定,是独一无二的。 IP 地址在互联网的逻辑上代表一个设备,在ip地址使用到期后,ip地址会被重新分配,然后再次绑定到其他设备上。 交换机和路由器 交换机与路由器的区别: 电子设备是通过内部的网卡进行通

    2024年02月10日
    浏览(38)
  • 【计算机网络】13、ARP 包:广播自己的 mac 地址和 ip

    机器启动时,会向外广播自己的 mac 地址和 ip 地址,这个即称为 arp 协议。范围是未经过路由器的部分,如下图的蓝色部分,范围内的设备都会在本地记录 mac 和 ip 的绑定信息,若有重复则覆盖更新(例如先收到 mac1-ip1、再收到 mac2-ip1 时则覆盖记录为 mac2-ip): 案例:假设某

    2024年02月12日
    浏览(32)
  • c# 获取mac地址

    工作笔记20230328. 在C#中,可以使用NetworkInterface类来获取本地计算机的MAC地址。 这个方法首先获取本地计算机上所有网络接口,然后在这些接口中找到处于操作状态的接口(即连接着网络的接口),并返回该接口的物理地址(即MAC地址)。注意,如果计算机上没有连接到网络

    2024年02月12日
    浏览(26)
  • H3C交换机如何通过MAC和IP查寻对应ARP信息

    H3C S6520-26Q-SI version 7.1.070, Release 6326 H3C交换机如何通过MAC 查寻对应IP信息 一、已知设备MAC地址为ac11-b134-d066 通过MAC 查寻对应IP信息 命令 dis arp | in X-X-X 二、已知设备IP为192.165.11.15 通过IP 查寻对应MAC地址信息 命令 dis arp | in 192.165.11.15

    2024年02月11日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包