我正在开发一个产品,在某一点上,我需要让域名用于访问特定端口上的某些服务。假设我有一个通过Linux网关访问Internet的计算机网络。作为一个例子,我对端口6208感兴趣(它可以是任何端口)。
当这个网络中的人连接到域名:6208时,我想要一个应用程序,我将在网关上开发域名。
当连接到eg.example.com:6208时,应用程序必须获得eg.example.com。
我能在网关上做些什么来获得这种行为呢?有什么方法可以用现有的工具来完成吗?我要求的不是如何开发所引用的应用程序,而是如何/从何处获得这些数据(域名)。考虑到网关运行Linux发行版,它必须有办法做到这一点。
有什么提示吗?
发布于 2014-08-03 03:52:48
基于您对@user2629636的响应,即没有检测到流量嗅探,可能的答案是“您不能”。TCP不知道与IP地址关联的域名。
根据您要做的事情,您可以为每个域名分配唯一的IP地址(可能是RFC1918地址),然后使用IPTables触发脚本。实际上,IPTables本身无法做到这一点,所以问题是编写日志,然后使用"Fail2Ban“之类的东西作为触发器对记录的条目执行操作。凌乱。
或者,在连接到端口时使用Knockd触发脚本。这意味着每个IP都需要一个不同的端口来工作--可能是在路由器本身上,因此也可能是一个死胡同。
发布于 2014-08-03 02:45:24
您可能希望在网关上使用tcpdump或wireshark。有了wireshark,你会得到更多的细节。
如果流量实际上是http类型的流量,您可能需要这样的内容:
-d tcp.port==6208,http
在从包中获得任何字段之后,您应该能够将其导入mysql insert语句等。
https://serverfault.com/questions/617490
复制相似问题