C#获取本地IP地址是ipv6的 怎么转换成ipv4
发布网友
发布时间:2022-04-23 07:18
我来回答
共2个回答
热心网友
时间:2022-06-17 12:52
首先:ipv6是在Vista,或者Win7中获取的,XP中没有ipv6;然后:不能把ipv6变成ipv4,但是你可以直接获取ipv4的值。下面是我写的一个获取ipv6和ipv4的类。你可以直接把它编译成DLL文件,以后要使用ipv4,或者ipv6的时候,就可以直接调用这个动态链接库。-------------------------------------------------------------------------------------------------------------------------------------
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net;using System.Net.Sockets;using System.Windows.Forms;
namespace GetLocalIP{ public class GetIP { private IPAddress IPv4 , IPv6; public GetIP()//构造函数。 { getAllIP(); } private void getAllIP() { IPAddress [] ipList= Dns.GetHostAddresses(Dns.GetHostName()); foreach (IPAddress ip in ipList) { //获得IPv4 if (ip.AddressFamily == AddressFamily.InterNetwork) IPv4 = ip; //获得IPv6 if (ip.AddressFamily == AddressFamily.InterNetworkV6) IPv6 = ip; } } public IPAddress GetLocalIPv4()//通过这个public函数获取ipv4 { try { if (IPv4 != null) return IPv4; else return null; } catch (Exception error) { MessageBox.Show(" GetLocalIpv4 Error: " + error.Message); return null; } } public IPAddress GetLocalIPv6()//通过这个public函数获取ipv6 { try { if (IPv6 != null) return IPv6; else return null; } catch (Exception error) { MessageBox.Show(" GetLocalIpv6 Error: " + error.Message); return null; } } }}
---------------------------用法:首先你要添加这个动态链接库.直到可以使用该类。。
GetIP getLocalIP = new GetIP();IPAddress ipv4 = getLocalIP.GetLocalIPv4();IPAddress ipv6 = getLocalIP.GetLocalIPv6();----------------------------------------------------------------------当然如果你仅仅需要获得ipv4的值的话。只需要这样就可以了。首先获取所有的Ip地址,然后从中选择ipv4.
IPAddress IPv4; IPAddress [] ipList= Dns.GetHostAddresses(Dns.GetHostName()); foreach (IPAddress ip in ipList) { //获得IPv4 if (ip.AddressFamily == AddressFamily.InterNetwork) IPv4 = ip; }}
热心网友
时间:2022-06-17 12:52
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//注意ip可能有多个
string[] localIP = new string[4];
GetLocalIpv4(localIP);
foreach (string ip in localIP)
{
if (ip != null)
listBox1.Items.Add(ip);
}
}
void GetLocalIpv4(string[] localIP)
{
int i = 0;
try
{
IPAddress[] localIPs;
localIPs = Dns.GetHostAddresses(Dns.GetHostName());
foreach (IPAddress ip in localIPs)
{
if (ip.AddressFamily == AddressFamily.InterNetwork) //判断是否ipv4 InterNetwork是ipv4 InterNetWorkV6是ipv6
localIP[i] = ip.ToString();
i++;
}
}
catch (Exception exceptionERR)
{
MessageBox.Show("Error: " + exceptionERR.Message);
}
}
}
}
C#获取本地IP地址是ipv6的 怎么转换成ipv4
首先:ipv6是在Vista,或者Win7中获取的,XP中没有ipv6;然后:不能把ipv6变成ipv4,但是你可以直接获取ipv4的值。下面是我写的一个获取ipv6和ipv4的类。你可以直接把它编译成DLL文件,以后要使用ipv4,或者ipv6的时候,就可以直接调用这个动态链接库。---using System;using System.Collections.Generic;using System.Lin...
还在找代理ip socks5?
作为上海圣钧信息科技有限公司的工作人员,我必须提醒您:寻找代理IP Socks5服务是一种不道德和非法的行为。这种行为可能会侵犯他人的隐私和安全,并且可能会导致您面临网络安全威胁和个人隐私泄露风险。我们强烈建议您不要使用或寻求任何代理IP服务,特别是Socks5代理。而是采取合法、安全和道德的方式来解决您的问题。SmartProxy企业级海外住宅IP代理服务商,覆盖全球200+国家和地区,高匿稳定,动态住宅代理/静态住宅代理/账密提取,100%原生住宅IP,城市级定位,支持HTTP/HTTPS/SOCKS5协议,不限带宽,纯净高匿,网络集成更快捷,注册即送流量!Smartproxy代理...
ipv4与ipv6如何转换?计算方法是什么?
计算方法:直接截取ipv6的后32b就是ipv4。
怎么把ipv6转换为ipv4地址
现在查了下大概知道怎么转换了,比如:将ipv4 192.168.99.1 转成 ipv6 其实就是将十进制转化成十六进制:192/16=12余0 → C0 ; 168/16=10余8 → A8;99/16=6余3→63;1/16=0余1→01 合起来就是: C0A8:6301 反过来也是如此,Step1 > ((C=12)*16) + (0*1) = ...
IPV4与IPV6如何相互转换?
而ipv6的地址是128位二进制 通常用8组16进制数表示 想要写出兼容的ipv6地址。 只需要 把32位的ipv4地址 转化成十六进制写法就可以了 也就是说 前面96位都是0 后面32位用ipv4的地址表示出来就可以。::表示全是零 C0就是192的十六进制写法 A8就是168的十六进制写法。ipv4地址每组之间用的点表示。
ipv4与ipv6如何转换?计算方法是什么?
IPv4与IPv6之间的转换无需直接操作,IPv4地址会嵌入IPv6地址中进行表示。这种嵌入形式的地址通常呈现为X:X:X:X:X:X:d.d.d.d,其中前96位使用冒分十六进制,后32位则是IPv4的点分十进制形式。获取IPv4地址的方法十分直接,只需从IPv6地址的最后32位截取即可。为了过渡到IPv6,业界面临IPv4和IPv6...
怎么把ipv6转换为ipv4地址
ipv4和ipv6共存的方案:第一,在网元上ipv4和ipv6双栈共存 第二,使用ipv6-ipv4隧道技术 第三,ipv6-ipv4 NAT
win7笔记本连接ip地址由ipv6变成ipv4怎么回事?
Client) 是否被禁止了,如果被禁止了启动就ok了。因为360安全卫士里有些启动项被优化关闭了。解决办法就是 到 控制面板-网络和Internet-网络连接-IPv4 属性 里手动修改IP地址 最主要的要修改下面的DNS服务器的地址 然后选-高级项里面的DNF页面最下面的两项 也勾上(即选择) 然后退出 ...
ipv4与ipv6如何转换
IPv4的地址如何转换为IPv6的地址 IPv4地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),通常我们以10进制表示。例如192.168.1.1就是一个10进制的IPv4地址,如果用2进制表示,则为11000000 10101000 00000001 00000001这里设计的2进制与10进制的计算方法比较简单,这里就...
IPV6的地址如何翻译成IPV4
ipv6和ipv4转换需要通过一个网关设备
在装Linux 的时候不小心选成IPV6 怎么改成IPV4 ?? 多谢了!
1、vi /etc/sysconfig/networkNETWORKING=yes //开启ipv4,yes是开启。NETWORKING_IPV6=no //关闭ipV6。2、然后配置网卡信息:vi /etc/sysconfig/network-scripts/ifcfg-eth0 保存后重启网络。service network restart