模拟用于UDP通信的虚拟主机

模拟用于UDP通信的虚拟主机,udp,virtualization,Udp,Virtualization,首先,这个问题与Apache中的虚拟主机无关 我的网络地址如下:1.1.1.0 我在这个网络上有几个主机:1.1.1.1、1.1.1.2、1.1.1.3和1.1.1.4 第一个主机发送广播UDP paquet应答,并期望其他主机应答他 我的开发机器(1.1.1.4)是否可以模拟以下虚拟主机:1.1.1.5、1.1.1.6等 我在MacOS 10.9上使用的是Qt 5.2.1,但我愿意接受任何其他技术来帮助我完成这项任务。安装VirtualBox(),并制作一个足够小的磁盘映像,以供小型Linux

首先,这个问题与Apache中的虚拟主机无关

我的网络地址如下:1.1.1.0

我在这个网络上有几个主机:1.1.1.1、1.1.1.2、1.1.1.3和1.1.1.4

第一个主机发送广播UDP paquet应答,并期望其他主机应答他

我的开发机器(1.1.1.4)是否可以模拟以下虚拟主机:1.1.1.5、1.1.1.6等

我在MacOS 10.9上使用的是Qt 5.2.1,但我愿意接受任何其他技术来帮助我完成这项任务。

安装VirtualBox(),并制作一个足够小的磁盘映像,以供小型Linux发行版使用。运行多个副本,每个副本位于不同的IP地址,并在每个副本中运行一个小型的
netcat
脚本,用于侦听和发送回复

#!/bin/bash
while :
do
   command=$(nc -ul 1234)
   process $command and reply
done
或者,读一读Chris的想法,它在资源上更轻

安装VirtualBox(),并制作一个足够小的Linux发行版使用的小磁盘映像。运行多个副本,每个副本位于不同的IP地址,并在每个副本中运行一个小型的
netcat
脚本,用于侦听和发送回复

#!/bin/bash
while :
do
   command=$(nc -ul 1234)
   process $command and reply
done
或者,读一读Chris的想法,它在资源上更轻

这取决于您的操作系统

在linux上,您可以创建多个虚拟网络设备,并将每个设备绑定到不同的网络地址。虚拟网络设备的名称为带有
:xxx
数字后缀的真实设备。例如,如果主网络设备是
eth0
,则可以运行该命令

ifconfig eth0:1 1.1.1.5
创建虚拟设备
eth0:1
并将其绑定到地址1.1.1.5。这只是暂时的(当你重新启动时它会消失);如果希望在重新启动时返回,可以编辑`/etc/network/interfaces文件,使其看起来像:

auto eth0
iface eth0 inet static
    address 1.1.1.4
    netmask 255.255.255.0
    gateway 1.1.1.1

auto eth0:1
    address 1.1.1.5
    netmask 255.255.255.0
eth0:1
部分中缺少
gateway
,这意味着它不会使用此接口进行路由,因此它只是用于接收数据包和显式绑定到ip地址。

这取决于您的操作系统

在linux上,您可以创建多个虚拟网络设备,并将每个设备绑定到不同的网络地址。虚拟网络设备的名称为带有
:xxx
数字后缀的真实设备。例如,如果主网络设备是
eth0
,则可以运行该命令

ifconfig eth0:1 1.1.1.5
创建虚拟设备
eth0:1
并将其绑定到地址1.1.1.5。这只是暂时的(当你重新启动时它会消失);如果希望在重新启动时返回,可以编辑`/etc/network/interfaces文件,使其看起来像:

auto eth0
iface eth0 inet static
    address 1.1.1.4
    netmask 255.255.255.0
    gateway 1.1.1.1

auto eth0:1
    address 1.1.1.5
    netmask 255.255.255.0

eth0:1
部分中缺少
gateway
,这意味着它不会使用此接口进行路由,因此它只是用于接收数据包和显式绑定到ip地址。

我将尝试使用它,并告诉您它是如何工作的!我正在考虑用ruby编写脚本!它在MacOS上不起作用,但我在这里找到了等价物:我将尝试使用它,并告诉您它是如何工作的!我正在考虑用ruby编写脚本!它在MacOS上不起作用,但我在这里找到了等价物: