C#获取外网IP、本机MAC地址及Ping的实现

简介:

原文 获取外网IPC#获取本机的MAC地址C#通过编程方式实现Ping

获取外网IP地址

思路是通过WebRequest连接一些网上提供IP查询服务的网站,下载到含有你的IP的网页,然后用正则表达式提取出IP来

复制代码
class Program  
{  
    static void Main(string[] args)  
    {  
        Console.WriteLine(GetExportIP());  
  
        Console.ReadKey();  
    }  
  
    public static string GetExportIP()   
    {  
        //获取外部IP  
        string strUrl = "http://www.ip.cn/getip.php?action=getip&ip_url=&from=web";  
        //string strUrl = "http://216.157.85.151/getip.php?action=getip&ip_url=&from=web";  
        Uri uri = new Uri(strUrl);  
        WebRequest webreq = WebRequest.Create(uri);  
        Stream s = webreq.GetResponse().GetResponseStream();  
        StreamReader sr = new StreamReader(s, Encoding.Default);  
        string all = sr.ReadToEnd();  
        all = Regex.Replace(all,@"(\d+)","000$1");  
        all = Regex.Replace(all, @"0+(\d{3})", "$1");  
        string reg = @"(\d{3}\.\d{3}\.\d{3}\.\d{3})";  
        Regex regex = new Regex(reg);  
        Match match = regex.Match(all);  
        string ip = match.Groups[1].Value;  
        return Regex.Replace(ip,@"0*(\d+)","$1");  
    }  
}  
复制代码

 获取本机MAC

复制代码
using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Management;  
  
namespace _17获取MAC地址  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            ManagementObjectSearcher nisc = new ManagementObjectSearcher("select * from Win32_NetworkAdapterConfiguration");  
            foreach (ManagementObject nic in nisc.Get())   
            {  
                if (Convert.ToBoolean(nic["ipEnabled"]) == true)   
                {  
                    Console.WriteLine("{0} - {1}", nic["ServiceName"], nic["MACAddress"]);  
                }  
            }  
  
            Console.ReadKey();  
        }  
    }  
}  
复制代码

Ping

废话少说,具体代码如下:

  C# 实现ping的功能

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。


   本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6147813.html ,如需转载请自行联系原作者


相关文章
|
12月前
Mac下查看公网以及内网IP地址
Mac下查看公网以及内网IP地址
411 0
|
6月前
|
缓存 网络协议 网络架构
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
117 1
|
3月前
|
域名解析 网络协议 虚拟化
|
2月前
|
缓存 网络协议 网络架构
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
本文详细介绍了如何使用网络抓包工具Wireshark进行网络抓包分析,包括以太网v2 MAC帧、IP数据报、ICMP报文和ARP报文的格式,以及不同网络通信的过程。文章通过抓包分析展示了IP数据报、ICMP数据报和ARP数据报的具体信息,包括MAC地址、IP地址、ICMP类型和代码、以及ARP的硬件类型、协议类型、操作类型等。通过这些分析,可以更好地理解网络协议的工作机制和数据传输过程。
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
|
6月前
|
安全 网络协议 网络安全
【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题
【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题
8324 0
|
3月前
|
存储 Linux Shell
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
|
6月前
|
监控 安全 Linux
【专栏】Linux中六个常用的网络命令:ping、traceroute、netstat、nmap、ifconfig和ip
【4月更文挑战第28天】本文介绍了Linux中六个常用的网络命令:ping、traceroute、netstat、nmap、ifconfig和ip,以及它们在测试网络连通性、追踪路由、查看网络状态、安全扫描和接口配置等场景的应用。通过学习和运用这些命令,系统管理员和网络爱好者能更有效地诊断和管理网络问题,确保网络稳定运行。
299 0
IP和MAC的作用区别
【9月更文挑战第3天】IP 是地址,有定位功能;MAC 是身份证,无定位功能
|
4月前
|
安全 网络安全 Windows
别人ping不通我的ip解决方法
别人ping不通我的ip解决方法
103 0
|
5月前
|
弹性计算 Ubuntu Linux
为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学
为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学