Windows(win7 / x64)主机在其" VirtualBox主机网络适配器"上使用IP 192.168.56.1
。
linux(Debian 8)Virtualbox guest虚拟机配置为“仅限主机的网络”。它使用静态IP地址192.168.56.100
主机和来宾可以相互ping通,并且来自guest虚拟机的UDP数据包具有:
$ echo "hello"|netcat -u 192.168.56.1 10067
Wireshark检测到,在主机上收听' VirtualBox界面。
但是它们似乎没有通过网络堆栈,
我的简单UDP侦听程序不接收数据包:
package test;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class Test {
public static void main(String[] args) throws IOException {
DatagramSocket socket = new DatagramSocket(10067, InetAddress.getByAddress(new byte[]{(byte) 192,(byte) 168,56,1}));
DatagramPacket pkt = new DatagramPacket(new byte[1500], 1500);
System.out.println("waiting...");
socket.receive(pkt);
System.out.println("received "+pkt.getLength());
}
}
到目前为止我尝试过:
socket=new DatagramSocket(10067)
)ncat -u 192.168.56.1 10067
的窗口发送的,程序会正确接收有什么建议吗?