仅从指定的IP地址启用传入连接

时间:2011-06-02 13:00:35

标签: c++ c linux sockets

我有一个服务器应用程序,在特定的IP端口上打开了一个侦听套接字。 如何允许套接字仅从一个指定的IP地址启用传入连接?

4 个答案:

答案 0 :(得分:8)

您必须使用某些防火墙软件来限制对该端口的传入请求,或者关闭您不想服务的已接受连接(基于accept返回的套接字地址)。

可能有些库可以帮助您,但是套接字API没有任何可以自动执行的操作。

答案 1 :(得分:4)

当您接受连接时,您可以在接受查看是否来自正确的地址后检查sockaddr。如果不是,请立即关闭accept返回的连接套接字。

答案 2 :(得分:0)

您必须接受与accept()的连接,如果您不想要它,请将其关闭(如果您的协议支持,可能会发送错误响应)。这对大多数应用来说已经足够了。

答案 3 :(得分:0)

尝试:libauth,它是一种强大的访问控制方式http://linux.die.net/man/3/libauth