所以,我是C#和视觉工作室的新手。但是我搜索了如何获取所有IP,就像你在Windows防火墙应用程序中看到的那样。但我找不到任何开始的事情。我看到很多关于Dns和帖子的帖子所以我得到了这个:
private void ip()
{
StringBuilder sb = new StringBuilder();
// Get host name
String strHostName = Dns.GetHostName();
// Find host by name
IPHostEntry iphostentry = Dns.GetHostByName(strHostName);
// Enumerate IP addresses
foreach (IPAddress ipaddress in iphostentry.AddressList)
{
sb.AppendLine(strHostName + " - " + ipaddress);
label1.Text = sb.ToString().Replace(Environment.NewLine, "\n");
}
}
但我只获得4个ip,但我希望所有ip目前都连接到我的电脑。 (我知道有很多关于这个的帖子,但我正在寻找一个初学程序员要理解的答案) 有人能帮助我吗? 谢谢!
答案 0 :(得分:0)
您显示的代码会获取分配给当前计算机的IP。
你想要的是相当于在命令行上运行netstat(获取所有活动连接)。这个问题可以帮助您入门:How to determine tcp port used by Windows process in C#
基本上你使用GetActiveTcpConnections。