我需要一个C程序来检查用户是否可以访问ip地址(ipv4和ipv6)。我不知道港口没有。所以我无法连接和检查。功能或多或少像ping。除了我不想使用ping,因为涉及的开销。
答案 0 :(得分:1)
您需要创建一个原始套接字,然后构造ICMP数据包并将其发送到目的地。
答案 1 :(得分:1)
让主机可达并不意味着您将能够从中获得服务。最好的方法是尝试连接到正确的端口号。你想要达到什么目的?
此外,虽然ICMP是这样做的明智之举,但如果主机有防火墙禁用ICMP,它可能无效。在这种情况下,你不会得到任何回应。