豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 Wd提问: c# 获取本地ip

🤖 Ai回答:
在 C中获取本地 IP 地址(特别是本机的 IPv4 地址),可以使用 `System.Net` 和 `System.Net.NetworkInformation` 命名空间中的类。以下是几种常见的方法,适用于不同的场景。

✅ 方法一:获取本机所有 IPv4 地址(推荐)

csharp
using System;
using System.Linq;
using System.Net;
using System.Net.NetworkInformation;

class Program
{
static void Main()
{
// 获取主机名
string hostName = Dns.GetHostName();

// 获取主机的所有IP地址
IPAddress[] addresses = Dns.GetHostAddresses(hostName);

// 筛选出 IPv4 地址并排除环回地址(127.0.0.1)
var localIps = addresses
.Where(ip = ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
.Where(ip = !IPAddress.IsLoopback(ip))
.ToList();

foreach (var ip in localIps)
{
Console.WriteLine(Local IP: + ip.ToString());
}
}
}

说明:
`Dns.GetHostAddresses()` 获取本机所有网络接口绑定的 IP。
过滤出 `AddressFamily.InterNetwork` 表示 IPv4。
排除 `IsLoopback` 避免输出 `127.0.0.1`。

✅ 方法二:通过 NetworkInterface 获取(更精确控制)

如果你需要更详细的网络信息(比如只取启用的网卡、非虚拟网卡等):

csharp
using System;
using System.Linq;
using System.Net;
using System.Net.NetworkInformation;

class Program
{
static void Main()
{
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();

foreach (NetworkInterface ni in interfaces)
{
// 只处理启用的、非虚拟的以太网或无线网卡
if (ni.OperationalStatus == OperationalStatus.Up &&
ni.NetworkInterfaceType != NetworkInterfaceType.Loopback &&
(ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet
ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211))
{
IPInterfaceProperties ipProps = ni.GetIPProperties();
foreach (UnicastIPAddressInformation addr in ipProps.UnicastAddresses)
{
if (addr.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
Console.WriteLine(IP Address: + addr.Address);
Console.WriteLine(Subnet Mask: + addr.IPv4Mask);
}
}
}
}
}
}

优点:可过滤真实物理网卡,避免 Docker、虚拟机、VPN 等虚拟适配器干扰。

✅ 方法三:获取连接外网时使用的出口 IP(即默认网关使用的 IP)

有时候你想知道“当前上网用的是哪个 IP”,可以通过路由判断:

csharp
using System;
using System.Net;
using System.Net.Sockets;

class Program
{
static void Main()
{
using (var socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp))
{
socket.Connect(8.8.8.8, 65530); // Google DNS,任意公网IP都行
IPEndPoint endPoint = socket.LocalEndPoint as IPEndPoint;
Console.WriteLine(Outgoing IP: + endPoint.Address);
}
}
}

⚠️ 注意:这个方法会创建一个 UDP 连接来探测系统选择的出口网卡 IP,但不会真正发送数据。

📌 总结

| 方法 | 用途 |

| `Dns.GetHostAddresses()` | 快速获取本机所有 IPv4 地址 |
| `NetworkInterface` 类 | 精确控制,筛选真实网卡 |
| UDP Socket 探测 | 获取实际用于访问外网的 IP |

💡 小贴士

如果你运行在局域网中,得到的通常是 `192.168.x.x`、`10.x.x.x` 或 `172.16.x.x` 开头的私有 IP。
若需获取公网 IP,需调用外部 API,例如:

csharp
using (var client = new WebClient())
{
string publicIp = client.DownloadString(http://api.ipify.org);
Console.WriteLine(Public IP: + publicIp);
}

如有特定需求(如只取 WiFi 的 IP、忽略虚拟机网卡等),欢迎补充场景,我可以提供更定制化的代码。

Ai作答

📣 商家广告


广告招商

广告招商

广告招商

广告招商

取名


0

IP地址: 183.197.183.67

搜索次数: 8

提问时间: 2025-11-07 00:51:46

🛒 域名购买
oa5.cn
021.hk
97.gold
ftp.ink
827.net.cn
v-z.net
jldj.cn
yq.gs
v.jl.cn
ng.cx

❓️ 热门提问
游戏内可以挂机
自建外贸服务器
域名需要买嘛
网站服务器日志
idc数据 机房
香港医院妇产科
机房重地闲人免进标识牌
云服务器挂什么
蜘蛛池泛目录黑帽SEO
云手机
豌豆Ai站群搜索引擎系统

🌐 域名评估
ee.ln.cn
tt.gs.cn
su8.gd.cn
su.bj.cn
vance.blue
su7.autos
hechaocheng.cn
772.net.cn
396.net.cn
32.cx

⛏ 最新挖掘
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜

🖌 热门作画

🤝 关于我们:
豌豆Ai 域名 建站 站群 留痕 推广 评估 源码
开发Ai 工具 日记 价格 加盟 广告 流量 留言 联系

🗨 加入群聊
群

🔗 友情链接
起名  北京营销推广  ai提问

🧰 站长工具
Ai工具  whois查询  搜索

📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。

上一篇 71885 71886 71887 下一篇