C# - 一个 MAC 地址,多个源 IP 地址

标签 c# dhcp

我正在尝试编写一个 Windows 应用程序,它将在来自 PC 的以太网链接上生成流量。

我想使用 webBrowser 控件不断拉取网页以产生流量。

在这种情况下,我希望每个 webBrowser 控件链接到一个唯一的源 IP 地址。两个问题:

  1. 是否可以为一台 PC(即一个 MAC 地址)分配多个并发 IP 地址?

  2. 如果问题 #1 的答案是肯定的,那么在应用程序 C# 代码中使用 DHCP 请求来获取额外的 IP 地址是最简单的,还是只配置静态 IP 地址更容易?

  3. 如何在我的 C# 代码中获取步骤 2 中获得的 IP 地址(请给我一个大概的想法)。

谢谢, 史蒂夫

最佳答案

是的,单个网络适配器绝对有可能拥有多个 IP 地址。但是,我建议手动配置它们(在 Windows 中,您可以通过网络连接的 IPv4 属性中的高级 TCP/IP 设置添加额外的 IP 地址)。

就使用这些 IP 地址而言,从代码上来说相对容易,您可以简单地绑定(bind)到特定的本地 IP 地址(如果使用 TcpClient,则 TcpClient(IPEndPoint localEndPoint) 构造函数将允许你这样做)。

但是,如果您使用的是 Web 浏览器控件,则可能会更加困难,并且可能无法通过控件上的可公开访问的界面将其绑定(bind)到特定的本地地址。

假设您不需要任何特别高级的功能,您可以通过创建自己的简单 HTTP 请求并通过适当绑定(bind)的 TcpClient 发送它们来获得更多运气。

编辑:

快速搜索出现了 this answer这可能有用 - 虽然它仍然不允许您使用绑定(bind)到特定本地地址的图形 Web 浏览器控件,但它确实允许您使用 HttpWebRequest,这将允许您处理发送更高级的网络请求(cookie、压缩、重定向等)。

关于C# - 一个 MAC 地址,多个源 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13369284/

相关文章:

Java:如何在应用程序的每个周期请求一个新的 IP

linux - 向 255.255.255.255 广播 UDP 数据包

linux - 从 Docker 容器内部运行 dnsmasq 作为 DHCP 服务器

c# - 找到给定数字以内的所有素数的最佳、性能最好的算法是什么?

C# 如何在每天的特定时间通过 Quartz.net 触发例程

javascript - 浏览器关闭时终止 session

c# - 如何在 .NET C# WinService 中使用 COM 服务器(ATL、DLL 代理)?

c# - 如何引用 C# 数组中的值

tcp - 构建DHCP数据包(DHCPDISCOVER),数据包结构

dhcp - 探测 DHCP 服务器并转储收到的 DNS 主机配置