原理:通过ARP命令查询,然后返回数据,根据返回数据进行分割保存

最后使用LINQ查询。

原著,转载请注明出处!

/// <summary>/// 获取ARP查询字符串/// </summary>/// <returns></returns>private static string GetARPResult(){Process p = null;string output = string.Empty;try{p = Process.Start(new ProcessStartInfo("arp", "-a"){CreateNoWindow = true,UseShellExecute = false,RedirectStandardOutput = true});output = p.StandardOutput.ReadToEnd();}catch (Exception ex){throw new Exception("IPInfo: Error Retrieving 'arp -a' Results", ex);}finally{if (p != null){p.Close();}}return output;}

转换为对应的列表:

/// <summary>/// 获取IP地址与Mac地址对应数据表/// </summary>/// <returns>Mac-IP</returns>public static List<string[]> GetIPInfo(){try{var list = new List<string[]>();foreach (var arp in FLYFI_SHARE_CONNECTION.GetARPResult().Split(new char[] { '\n', '\r' })){if (!string.IsNullOrEmpty(arp)){var pieces = (from piece in arp.Split(new char[] { ' ', '\t' })where !string.IsNullOrEmpty(piece)select piece).ToArray();if (pieces.Length == 3){//pieces[1]Mac//pieces[0]IPlist.Add(new string[2] { pieces[1], pieces[0] });}}}return list;}catch (Exception ex){throw new Exception("IPInfo: Error Parsing 'arp -a' results", ex);}}

查询:

/// <summary>/// Mac地址转换为IP地址/// </summary>/// <param name="str">IP</param>/// <returns></returns>public static string GetIpFromMac(string str){str = str.Trim().ToString().Replace(":", "-");var ipinfo = (from ip in FLYFI_SHARE_CONNECTION.GetIPInfo()where ip[0].ToLowerInvariant() == str.ToLowerInvariant()select ip[1]).FirstOrDefault();return ipinfo;}

原著,转载请注明出处!

[C#]通过ARP获取Mac与IP的对应表相关推荐

  1. openwrt利用arp获取局域网设备IP

    openwrt利用arp获取局域网设备IP 文章目录 openwrt利用arp获取局域网设备IP 1. 前言 2. ARP概念 3. arp局域网搜索设备实现思路和代码 1. 前言 目前我们通过arp ...

  2. 集线器Hub、交换机、arp获取mac地址、路由器

    集线器Hub 集线器的英文称为"Hub"."Hub"是"中心"的意思,集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离 ...

  3. 关于ARP、MAC、IP欺骗以及TCP劫持

    三个多月没更新博客,期间也有在学习和总结一些东西,只是或多或少都涉及到公司相关的信息(业务,JVM,WebServer)所以不便写出来,有时候写到一半发现又不太合适然后删除,很郁闷.之前一直比较关注w ...

  4. 计算机网络的寻址问题ARP协议(Mac地址 ip地址)

    实验目的 理解arp协议的工作流程和作用 需要的工具 思科模拟器 过程图如下: 网络拓扑图如下: 具体操作如下: 具体流程如下: 1.刚开始主机A想给主机B发送一个ICMP包,但是当查看了ARP表发现 ...

  5. Java 获取本机IP和Mac以及网卡信息

    2019独角兽企业重金招聘Python工程师标准>>> 获取局域网ip和mac(如果电脑没有直接连接外网),否则获取公网ip 通过第三放获取公网ip public class Net ...

  6. python3+scapy扫描获取局域网主机ip和mac

    python3+scapy扫描获取局域网主机ip和mac ''' python3 安装scapy-python3 注:linux,可能需要以root登陆,避免出现permission error Sc ...

  7. chrome web获取mac地址_老鬼傻瓜式讲解网络知识:网络设备如何通过IP地址获取设备MAC地址...

    导读:在前面老鬼向各位好友介绍一些关于网络的基础知识,同时针对ICMP协议(常见使用的Ping测试网络就是使用该协议)进行了详细介绍.具体可参见<Ping是你经常测试工业智能制造网络的工具,但你 ...

  8. Python根据IP地址获取MAC地址

    Python3根据IP地址获取MAC地址(不能获取本机IP,可以获取与本机同局域网设备IP的MAC) main.py #!/usr/bin/env python3 # -*- coding: utf- ...

  9. python arp协议分析_通过python对本局域网进行ARP扫描获取MAC

    #!/usr/local/bin/python3 """ 对本局域网进行ARP扫描 ARP (Address Resolution Protocol,ARP); 以太网M ...

  10. java 根据ip获取mac地址,java服务器端根据ip获取客户端mac地址

    java服务器端根据ip获取客户端mac地址 2014/8/20 22:01:29  475900947  程序员俱乐部  我要评论(1) 摘要://判断系统publicStringcheckSys( ...

最新文章

  1. SAP 采购订单显示含税价制作方案
  2. 数据结构源码笔记(C语言):冒泡排序
  3. gnu java_GNU/Linux下Java开发环境的安装和配置
  4. java 解析二进制_Java二进制Class文件格式解析
  5. hadoop 2.7 java_Hadoop2.7环境搭建---Java环境变量
  6. 【JS 逆向百例】当乐网登录接口参数逆向
  7. IntelliJ IDEA 2019.1 windows找不到文件‘chrome’
  8. 【Elasticsearch】es 新的 数据类型 search_as_you_type
  9. 机器学习中的范数规则化之L0、L1、L2范数
  10. 自然语言交流系统 phxnet团队 创新实训 个人博客 (十)
  11. 手机销售网jsp程序设计
  12. Ani网页木马生成器
  13. 宽带运营商为什么限制上行带宽
  14. nodejs q模块
  15. [相机原理]单反与手机是如何实现对焦的?——反差对焦的原理
  16. 键盘等号坏了怎么办?键盘有的按键不灵了怎么办?怎么修改注册表?
  17. 英特尔重入代工行业的底气和挑战,台积电,三星有点慌。
  18. I2C协议研读(三):仲裁和时钟同步
  19. Java当中的IO流(中)
  20. VGG16预训练学习笔记

热门文章

  1. 是新最全Git命令大全及速记图
  2. 操作系统课设 Nachos 实验四、五:Nachos 的文件系统、扩展 Nachos 的文件系统
  3. 一元多项式的带余除法
  4. 相似矩阵对角化 | 找到一个可逆矩阵 P 使得 P^(-1)AP 成为一个对角矩阵
  5. 使用WWWGrep检查你的网站元素安全
  6. Kubernetes基础篇:主要特性、基本概念与总体架构
  7. c# 微信开发 《生成带参数的关注二维码》
  8. [裴礼文数学分析中的典型问题与方法习题参考解答]5.1.24
  9. mysql 开启用户远程登录
  10. 第三天 二列和三列布局