C#获取本机IP以及无线网ip

1 private void GetIP()

 2 {
 3     string hostName = Dns.GetHostName();//本机名
 4     //System.Net.IPAddress[] addressList = Dns.GetHostByName(hostName).AddressList;       //会警告GetHostByName()已过期,我运行时且只返回了一个IPv4的地址
 5     System.Net.IPAddress[] addressList = Dns.GetHostAddresses(hostName);       //会返回所有地址,包括IPv4和IPv6
 6     foreach (IPAddress ip in addressList)
 7     {
 8         listBox1.Items.Add(ip.ToString());
 9     }
10 }  

使用IPHostEntry获取本机局域网地址

1         static string GetLocalIp()
2         {
3             string hostname = Dns.GetHostName();//得到本机名
4             //IPHostEntry localhost = Dns.GetHostByName(hostname);              //方法已过期,只得到IPv4的地址
5             <SPAN style="WHITE-SPACE: pre"> </SPAN>              IPHostEntry localhost = Dns.GetHostEntry(hostname);
6             IPAddress localaddr = localhost.AddressList[0];
7             return localaddr.ToString();
8         }  

方法时通过向网站向一些提供IP查询的网站发送webrequest,然后分析返回的数据流

 1        string strUrl = "提供IP查询的网站的链接";
 2        Uri uri = new Uri(strUrl);
 3        WebRequest webreq = WebRequest.Create(uri);
 4        Stream s = webreq .GetResponse().GetResponseStream();
 5        StreamReader sr = new StreamReader(s, Encoding.Default);
 6        string all = sr.ReadToEnd();
 7        int i = all.IndexOf("[") + 1;
 8        //分析字符串得到IP
 9        return ip;
10        /*
11         我用的是http://www.ip.cn/getip.php?action=getip&ip_url=&from=web
12         (这种链接很容易找的,百度“IP”得到一些网站,分析一下网站的链接就能得到)
13         返回的数据是:
14         <div class="well"><p>当前 IP:<code>0.0.0.0</code>&nbsp;            来自:XX省XX市 电信</p><p>GeoIP: Beijing, China</p></div>
15         解析这段就行
16       */  

通过获取CMD里ipconfig命令的结果来得到IP

 1    private void GetIP6()
 2    {
 3        Process cmd = new Process();
 4        cmd.StartInfo.FileName = "ipconfig.exe";//设置程序名
 5        cmd.StartInfo.Arguments = "/all";  //参数
 6        //重定向标准输出
 7        cmd.StartInfo.RedirectStandardOutput = true;
 8        cmd.StartInfo.RedirectStandardInput = true;
 9        cmd.StartInfo.UseShellExecute = false;
10        cmd.StartInfo.CreateNoWindow = true;//不显示窗口(控制台程序是黑屏)
11        //cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;          //暂时不明白什么意思
12        /*
13        收集一下 有备无患
14        关于:ProcessWindowStyle.Hidden隐藏后如何再显示?
15        hwndWin32Host = Win32Native.FindWindow(null, win32Exinfo.windowsName);
16        Win32Native.ShowWindow(hwndWin32Host, 1);          //先FindWindow找到窗口后再ShowWindow
17        */
18        cmd.Start();
19        string info = cmd.StandardOutput.ReadToEnd();
20        cmd.WaitForExit();
21        cmd.Close();
22        textBox1.AppendText(info);
23    } 
时间: 2024-12-25 20:06:30

C#获取本机IP以及无线网ip的相关文章

Py获取本机指定网卡的ip地址

前段时间需要批量修改服务器的配置文件,里面包含本机的IP地址,由于服务器有多块网卡并且配置多个ip地址,一开始想写shell脚本批量修改,但是既然现在正在学Python,何不研究下使用Python写,在网络上搜了相关文章,根据自己实际情况,便有了下面的脚本: 利用Python获取本机指定网卡的ip地址: #!/usr/bin/env python # -.- coding: utf-8 -.- # By Sandler import socket import fcntl import stru

js获取本机mac地址,IP地址,计算机名

<!DOCTYPE HTML> <html> <head> <title>js获取本机mac地址,IP地址,计算机名</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="MSHTML 6.00.2800.1106" name="

node 获取本机主机名和ip

/**获取本机ip**/function getIPAdress(){    var interfaces = require('os').networkInterfaces();    for(var devName in interfaces){        var iface = interfaces[devName];        for(var i=0;i<iface.length;i++){            var alias = iface[i];           

获取本机的内外网ip

package tool; import java.net.InetAddress;import java.net.UnknownHostException; /** * @description * @author: 123.com * @create: 2019-01-17 17:34:52 **/ public class GetIp { public static void getip() { try { InetAddress address = InetAddress.getLoca

c#中如何获取本机MAC地址、IP地址、硬盘ID、CPU序列号等系统信息

public class Computer { public static string CpuID; //1.cpu序列号 public static string MacAddress; //2.mac序列号 public static string DiskID; //3.硬盘id public static string IpAddress; //4.ip地址 public static string LoginUserName; //5.登录用户名 public static stri

C#获取本机的外网IP

/// <summary> /// 功能:获取本地的外网IP地址 /// 作者:黄海 /// 时间:2016-07-22 /// </summary> /// <returns></returns> private static string GetPublicIp() { var urlList = new List<string> { "http://ip.qq.com/", "http://pv.sohu.co

Linux 编程获取本机所有网卡和IP

#include <unistd.h> #include <stdio.h> #include <sys/types.h> #include <ifaddrs.h> #include <arpa/inet.h> #include <sys/socket.h> #include <netinet/in.h> #include <errno.h> #include <string.h> int main

获取本机的第一个IP(常用例程:1)

上曳净俾仕JOY献星佬突http://weibo.com/p/1001604186887362322984?8O=UK/24_2017_12 兹辉彰缺惹GBG忻霞善兄http://weibo.com/p/1001604186887370711632?06=Ei/24_2017_12 献酥茄挥前OFW孔喜南际http://weibo.com/p/1001604186887391683230?uo=2w/24_2017_12 喜汲谝埔夏PZP嘏弥泻胁http://weibo.com/p/100160

获取本机的ip

获取本机的ipv4的ip地址 public static IPAddress[] GetLocalIpAddress() { //显示本机内网IPv4地址 win7系统 var hostName = Dns.GetHostName(); var hostEntry = Dns.GetHostEntry(hostName); var addressList = hostEntry.AddressList; var ipv4Addresses = addressList.Where(x => x.A