基本信息

案例ID:131490

技术顾问:五六柒工作室 - 3年经验 - 暖小唐

联系沟通

微信扫码,建群沟通

项目名称:中转服务器

所属行业:工具 - 办公软件

->查看更多案例

案例介绍

端口转发有两种方式:

1. 内核层次的转发
2. 应用层的转发

### 内核层转发

内核层转发采用netfilter模块,如iptables和firewalld。内核主要工作在Network Layer和Link Layer层次上,且库函数不支持RSA加密(防止性能损耗),因此,无法实现TLS等加密方法。

在需求对接中,用户提出将内核层流量转发到一个指定端口,然后通过这个端口动态的解析流量包,并实时控制端口的开放,这个面对以下几个问题:

1. 端口信息保存问题:在内核层如果修改了端口号,原有端口号信息的保存问题
2. 动态开放端口问题:由于网络环境的不稳定,何时决定这个端口关闭
3. 效率问题: 至少经过内核修改数据--转发--开启端口--处理丢包--转发等阶段

### 应用层转发

在应用层转发中,常见的开源工具不计其数,比较好的用proxychains4、proxy-connect等等。但是他们没有解决:

1. 上万个端口转发监听导致的性能异常(端口范围过大)
2. 配置相对复杂

我们在基于proxychains4和proxy-connect上,重新调整了源代码,我们在这里用了约两百多行代码实现了一个进程(单个线程)控制数万个监听端口,如果该端口没有流量进入,这个端口对性能没有任何损耗(在linux中就相当于一个空文件)。

### 端口的批量转发

为了方便用户使用,我们特意增加了配置文件,确定转发的超时时间等。

相似案例推荐

其他人才的相似案例推荐

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服