我有一个服务器应用程序,在特定的IP端口上打开了一个侦听套接字。 如何允许套接字仅从一个指定的IP地址启用传入连接?
答案 0 :(得分:8)
您必须使用某些防火墙软件来限制对该端口的传入请求,或者关闭您不想服务的已接受连接(基于accept
返回的套接字地址)。
可能有些库可以帮助您,但是套接字API没有任何可以自动执行的操作。
答案 1 :(得分:4)
当您接受连接时,您可以在接受查看是否来自正确的地址后检查sockaddr。如果不是,请立即关闭accept返回的连接套接字。
答案 2 :(得分:0)
您必须接受与accept()的连接,如果您不想要它,请将其关闭(如果您的协议支持,可能会发送错误响应)。这对大多数应用来说已经足够了。
答案 3 :(得分:0)
尝试:libauth,它是一种强大的访问控制方式http://linux.die.net/man/3/libauth