2024-05-29 01:35:54 发布
网友
我正在建立一个语音信使类型的应用程序。。。我的服务器应用程序预计将接收多个连接,并应提供选择一个连接的选项。。。在
我的问题是,在我选择一个特定的ip并连接到它之前,我不知道如何显示所有连接的ip地址。。 我正在ubuntu上使用python。。。在
没有API机制允许您在连接之前读取潜在连接的对等地址。它不存在于套接字级别,所以Python中也不存在它。在
如果您想在应用程序中构建太多关于操作环境的知识,您可以始终使用libpcap或{}或类似工具来嗅探线路中的传入流量,但(a)这需要提升特权,这通常是一个可怕的想法(b)与大多数通信服务器任务实际上无关。在
libpcap
tcp_wrappers机制的作用是accept(2)传入连接,调用套接字上的getpeername(2),然后close(2)如果使用{}的程序不应该与远程对等方对话,则close(2)该套接字。(请参见/etc/hosts.allow,/etc/hosts.deny,和/etc/hosts.options,hosts.allow(5)手册页。)这可能对客户端很粗鲁,但是系统管理员决定无论如何都禁止与他们交谈,所以友好并不是一个非常重要的优先事项。在
tcp_wrappers
accept(2)
getpeername(2)
close(2)
/etc/hosts.allow
/etc/hosts.deny
/etc/hosts.options
hosts.allow(5)
那么,简单地close(2)连接在之后就可以接受了吗?如果是这样,您可以使用^{}查找远程对等方的IP,执行您需要的操作,然后在套接字上调用^{}(如果您一开始就不应该接受连接)。在
没有API机制允许您在连接之前读取潜在连接的对等地址。它不存在于套接字级别,所以Python中也不存在它。在
如果您想在应用程序中构建太多关于操作环境的知识,您可以始终使用}或类似工具来嗅探线路中的传入流量,但(a)这需要提升特权,这通常是一个可怕的想法(b)与大多数通信服务器任务实际上无关。在
libpcap
或{tcp_wrappers
机制的作用是accept(2)
传入连接,调用套接字上的getpeername(2)
,然后close(2)
如果使用{close(2)
该套接字。(请参见/etc/hosts.allow
,/etc/hosts.deny
,和/etc/hosts.options
,hosts.allow(5)
手册页。)这可能对客户端很粗鲁,但是系统管理员决定无论如何都禁止与他们交谈,所以友好并不是一个非常重要的优先事项。在那么,简单地} 查找远程对等方的IP,执行您需要的操作,然后在套接字上调用^{} (如果您一开始就不应该接受连接)。在
close(2)
连接在之后就可以接受了吗?如果是这样,您可以使用^{相关问题 更多 >
编程相关推荐