C#实现的获取路由器MAC地址,路由器外网地址。对于要获取路由器MAC地址,一定需要知道路由器web管理系统的用户名和密码。至于获取路由器的外网IP地址,可以不需要知道路由器web管理系统的用户名和密码,但是需要有一个代理页面获取客户端公网ip地址的,这样C#请求此页面即可获取到路由器公网ip地址。如:
http://xxxx.getip.ashx
测试路由为水星 MR804,水星 MR808,都可以成功重启路由和获取到路由器MAC和外网IP地址

源代码下载地址:C#实现路由器重启更换IP,获取路由器MAC地址源代码

using System.Text;
using System.Net;
using System.Text.RegularExpressions;
using System.IO;
public class Router
{Encoding gb2312 = Encoding.GetEncoding(936);//路由器的web管理系统默认编码为gb2312/// <summary>/// 使用HttpWebRequest对象发送请求/// </summary>/// <param name="url"></param>/// <param name="encoding">编码</param>/// <param name="cache">凭证</param>/// <returns></returns>private static string SendRequest(string url, Encoding encoding,CredentialCache cache){HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);if (cache != null){request.PreAuthenticate = true;request.Credentials = cache;}string html = null;try{HttpWebResponse response = (HttpWebResponse)request.GetResponse();StreamReader srd = new StreamReader(response.GetResponseStream(), encoding);html = srd.ReadToEnd();srd.Close();response.Close();}catch (Exception ex) { html = "FALSE" + ex.Message; }return html;}/// <summary>/// 获取路由MAC和外网IP地址/// </summary>/// <param name="RouterIP">路由IP地址,就是网关地址了,默认192.168.1.1</param>/// <param name="UserName">用户名</param>/// <param name="Passowrd">密码</param>/// <returns></returns>private string LoadMACWanIP(string RouterIP,string UserName,string Passowrd){CredentialCache cache = new CredentialCache();string url = "http://" + RouterIP + "/userRpm/StatusRpm.htm";cache.Add(new Uri(url), "Basic", new NetworkCredential(UserName, Passowrd));return SendRequest(url, gb2312, cache);}
}

出处:http://www.coding123.net/article/20120220/charp-get-router-wlan-ip-mac-address.aspx

转载于:https://www.cnblogs.com/mq0036/p/4644795.html

C#获取路由器外网IP,MAC地址相关推荐

  1. Golang 获取当前外网IP/地址/运营商

    Golang 获取当前外网IP/地址/运营商 - Go语言中文网 - Golang中文社区 package mainimport ("fmt""io/ioutil&quo ...

  2. Android 获取本地外网IP、内网IP、计算机名等信息

    一.获取本地外网IP public static String GetNetIp() { URL infoUrl = null; InputStream inStream = null; try { ...

  3. 获取客户端外网IP,省份,城市,运营商

    /// <summary>     /// 获取客户端外网IP,省份,城市,运营商     /// 2012年12月18日 15:07     /// </summary>   ...

  4. Android 获取客户端外网IP和服务端IP

    项目组最近添加新需求,要获取客户端和服务端IP,削微研究了一下,总结如下: 1.获取客户端外网IP(为啥不要内网,因为那玩意没鸟用,外网IP起码能确定客户端的地区位置) 目前只有一种方法可以获取:发送 ...

  5. java获取本地外网ip地址

    获取本机外网ip地址 public static String getIP() {String ip = "http://pv.sohu.com/cityjson?ie=utf-8" ...

  6. 获取本地外网ip地址

    正常情况查看本地外网ip,通过百度就可以看到,有时候使用了vpn,就不对 可以在命令行执行下面命令 curl ifconfig.me 响应:116.235.132.210root@DESKTOP-UA ...

  7. 查看华为路由器外网ip

    1.运行里面输入 cmd /k "ipconfig /all",解决运行ipconfig /all的时候不显示窗口.一闪就没有了的问题 2.登陆路由器的管理界面,找不到 :&quo ...

  8. DIY个人智能家庭网关—— python篇之获取路由器外网地址

    免费的DDNS域名服务有时候刷新不及时,解析不到路由器的IP,就可以采用这种方法来解决 #!/usr/bin/env python # -*- coding: utf-8 -*- import soc ...

  9. python 获取公网 外网 ip 几种方式

    实例如下: from urllib.request import urlopen from json import loadmy_ip = urlopen('http://ip.42.pl/raw') ...

最新文章

  1. ruby生成C++头文件引用关系图
  2. android 绘画,Android绘图基础
  3. jenkins获取远程服务器文件,Jenkins用SSH传输文件到远程服务器
  4. GIAC 2020 全球互联网架构大会演讲实录:基于TarsGo的微服务技术架构实践
  5. 863. 二叉树中所有距离为 K 的结点
  6. path.join 和 path.resolve的区别
  7. java学习(117):list迭代器和包含方法
  8. PHP闭包(Closure)初探(转载 http://my.oschina.net/melonol/blog/126694?p=2#comments)
  9. android 九宫格封装,Android 九宫格布局
  10. Java二进制小数表示_《Java编程的逻辑》笔记9--小数的二进制表示
  11. AdrenoProfiler对opengles的性能分析
  12. Linux下安装composer报错 The openssl extension is missing / The zlib extension is not loaded等等
  13. 蓝桥杯2021年第十二届C++省赛第三题-直线
  14. syslog日志转换器_图解将windows日志转成syslog格式并发送
  15. winform直接控制云台_大疆DJI RSC2相机云台评测:折叠设计带来更多玩法
  16. HTML5中weight属性的作用,css font-weight属性怎么用
  17. C++如何优雅地释放资源
  18. 电子类通信类和计算机类ei期刊,电子类通信类和计算机类EI期刊(大部分免费)
  19. FPGA--(基于Quartus的FPAG程序下载与固化教程)VGA显示实验之上板测试
  20. 威纶通触摸屏如何隐藏系统设置箭头图标及通过参数进入系统设置?

热门文章

  1. 《管理学原理》题库(4套)
  2. 马克思恩格斯生态思想的理论基础研究
  3. MATLAB图像处理入门
  4. 【wasp的算法笔记】目录
  5. 处理nginx 文件服务器 ,log文件中文乱码
  6. 木工雕刻机操作方法和步骤
  7. Python IAQ中文版 - Python中少有人回答的问题
  8. 服务器中毒了,无法登陆,开启拷贝恢复之路
  9. IT时代的摇滚巨星:史蒂夫 乔布斯
  10. 怎么把pdf文件转换成jpg格式