1
1
基本上,您有目标端口、目标IP地址和主机名(如果DNS解析也是通过SOCKS5服务器完成的)以及有效负载。基于已知目标主机、目标端口和典型有效负载的知识,您可以构建试探法来猜测协议。 你会在当今的入侵检测系统、更好的防火墙和流量分类器中找到这样的启发式算法,它们在检测质量上有很大的差异,一个有决心的用户通常可以欺骗这些启发式算法。这是一个非常广泛的主题,但您可能会开始研究免费的深度检查(DPI)库,如 nDPI 并阅读更多关于 DPI at Wikipedia .
首先将目标从客户端请求的目标更改为代理。当然,这必须在传输任何数据之前完成,这可能会与您在数据流上执行的DPI相冲突,因为一些连接首先从服务器(如SMTP)获取数据,而其他连接(如HTTP(S))首先从客户端获取数据。因此,在获得任何有效负载之前,您可能需要确定这是否是HTTP(S),即仅基于目标端口。对于HTTPS,您需要使用CONNECT请求建立隧道,如中所述
RFC 2817
对于HTTP,您将修改请求以不仅包括路径,还包括完整的URL(即。
正如你所看到的,所有这些都使用了很多启发式方法,这些方法适用于大多数情况,但不是所有情况。除此之外,这可能是一项非常复杂的任务,具体取决于您需要的交通分类质量。 |
mig21 bis · 带套接字的SSL_set_fd地址边界错误 2 年前 |
hollow · 在读写C中的套接字时,为什么要使用循环缓冲区? 2 年前 |
Filipe · 通过http python发送图像 6 年前 |
Mr. Rogers · epoll_wait事件的epoll顺序 6 年前 |
Michael Beer · 查找插座的传输类型 6 年前 |