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 ,如需转载请自行联系原作者


相关文章
Mac下查看公网以及内网IP地址
Mac下查看公网以及内网IP地址
413 0
|
6月前
|
缓存 网络协议 网络架构
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
130 1
|
3月前
|
域名解析 网络协议 虚拟化
|
10天前
|
域名解析 网络协议 测试技术
IP、掩码、网关、DNS1、DNS2到底是什么东西,ping telnet测试
理解IP地址、子网掩码、默认网关和DNS服务器的概念是有效管理和配置网络的基础。通过使用ping和telnet命令,可以测试网络连通性和服务状态,快速诊断和解决网络问题。这些工具和概念是网络管理员和IT专业人员日常工作中不可或缺的部分。希望本文提供的详细解释和示例能够帮助您更好地理解和应用这些网络配置和测试工具。
33 2
|
6月前
|
安全 网络协议 网络安全
【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题
【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题
8839 0
|
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月前
|
监控 安全 Linux
【专栏】Linux中六个常用的网络命令:ping、traceroute、netstat、nmap、ifconfig和ip
【4月更文挑战第28天】本文介绍了Linux中六个常用的网络命令:ping、traceroute、netstat、nmap、ifconfig和ip,以及它们在测试网络连通性、追踪路由、查看网络状态、安全扫描和接口配置等场景的应用。通过学习和运用这些命令,系统管理员和网络爱好者能更有效地诊断和管理网络问题,确保网络稳定运行。
367 0
|
3月前
|
存储 Linux Shell
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
IP和MAC的作用区别
【9月更文挑战第3天】IP 是地址,有定位功能;MAC 是身份证,无定位功能
|
4月前
|
安全 网络安全 Windows
别人ping不通我的ip解决方法
别人ping不通我的ip解决方法
113 0

热门文章

最新文章