我有客户机(Linux)-server(Windows)应用程序。我的主要操作系统是Windows 7,VirtualBox上有Ubuntu18.04。我需要测试客户端是否可以通过IPv6连接到服务器。我该怎么设置这个?
发布于 2019-05-30 16:06:53
我需要测试客户端是否可以通过IPv6连接到服务器。
你需要看两端。只有Linux端点才是这个站点的主题。(但你可以看到你能走多远。如果你走得够远的话,你可以找出Windows上的工作原理:-)。
只有四种可能性。
运行以下命令:ip -6 addr
inet6开头的行。测试失败。inet6行都以fe80::开头。从技术上讲,使用链接本地地址是可能的,但是有些应用程序不支持它们。如果可能,解决此情况,即将其视为测试失败。哪个网络接口面向您的目标网络?
lo。别理它。e (以太网)、wl (无线)、ww (广域无线)或不太可能的ppp (杂乱无章:-P)开始的。在您的情况下,您将忽略这些。v开始命名的。VirtualBox使用vboxnet,libvirt (virt管理器)使用virbr。在您的例子中,您想要的接口几乎肯定是其中之一。fe80::的地址。测试还没有失败--还没有:-)。继续下一步。标识了一个可路由的ipv6地址之后,您可以测试从其他系统连接到它。
ping6可以--如果您知道ping没有被防火墙阻塞的话。
请不要阻止防火墙中的ping,除非防火墙阻塞了所有传入连接。否则,这是没有意义的,你只是让自己的生活更艰难。
您的应用程序将在某个地方得到指令,说明它使用哪个端口(以及端口类型),以便允许它通过防火墙。
为了测试连接到TCP端口,我将使用sudo nmap -sT -p 1,$MYPORT $MYADDRESS。您还可以使用sudo nmap -sT -F $MYADDRESS扫描公共端口。后者可能是有用的,如果它表明可以在另一个端口上建立某种连接,例如,您可能忘记通过防火墙允许正确的端口。
要测试UDP端口,请使用-sU而不是-sT。我不介意nmap -sU -F,因为UDP扫描可以是慢得多,而不是TCP扫描。
要查看成功的测试结果,请扫描地址::1 (localhost)。如果本地主机上还没有开放端口,请打开第二个终端窗口并运行ncat -l ::1 22,以运行nmap将检测到的假SSH服务。
如果您必须连接到链接本地地址,则需要包含一个链接ID,例如指向ping fe80::1的链接vboxnet0,运行ping6 fe80::1%vboxnet0。这是链接本地地址不太有用的原因之一:并不是所有的应用程序都知道如何指定链接ID。
https://unix.stackexchange.com/questions/521478
复制相似问题