我有一个用C编写的服务器,有没有任何API或方法可以检查传入的请求是否来自运行服务器的同一网络?
谢谢
发布于 2019-11-27 15:38:32
我假设你说的是linux平台。我不认为有一个API可以做到这一点。
我看到了3种方法来检查你需要的东西:
1)您可以使用ping的ttl来查看客户端是否有太多跳数,因此很可能不是您的网络的成员。试着把这个作为概念的证明
ping -t 1 8.8.8.8arp 2)你也可以从arp表中获取客户端IP的mac地址,并将其与网关的mac进行比较。如果它们匹配,则有可能您的客户端不属于您的网络。
3)您还可以枚举您绑定到的所有ip地址,并将其掩码应用于您的ip和客户端ip,并检查是否匹配。如果它们匹配,则客户端肯定属于您的网络。
https://stackoverflow.com/questions/59064329
复制相似问题