iptables端口复用
创建端口复用链
![](https://i-blog.csdnimg.cn/blog_migrate/0dbd16d7532dbea837613e6f363a293c.jpeg)
创建端口复用规则将流量转到22端口
![](https://i-blog.csdnimg.cn/blog_migrate/a41f35049d114940abf90b57bea42689.jpeg)
开启开关,接收到一个长为1139的icmp包,则将来源ip添加到LETMEIN表中
![](https://i-blog.csdnimg.cn/blog_migrate/9150d2b378857d3427f27022216a5582.jpeg)
如果syn包来源ip处于letmein列表中,则跳转到LETMEIN链处理,有效时间为3600秒
![](https://i-blog.csdnimg.cn/blog_migrate/a80dfe0a8b90c9b0357ef0887d6a775e.jpeg)
开启复用
向目标发送一个长度为 1111 的 ICMP 数据包(加上包头28,总长度为1139)
![](https://i-blog.csdnimg.cn/blog_migrate/2005a988a0c3b2bcb78e8bab6c4cc3c2.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/5897f5a0402dc698720c94b571d9add4.jpeg)
关闭复用
向目标发送一个长度为 1112 的 ICMP 数据包(加上包头 28,总长度实际为 1140)
![](https://i-blog.csdnimg.cn/blog_migrate/82edc953ae15136925ecedd253d643ed.jpeg)
sslh端口复用
装载sslh(Ubuntu)
apt-get install sslh
![](https://i-blog.csdnimg.cn/blog_migrate/093c90c78ed96f9082f840f3f65e6adc.png)
配置Apache或者Nginx服务器
#首先找到
listen 443 ssl;
#然后修改为
listen 127.0.0.1:443 ssl;
然后保存退出
配置sslh
vim /etc/default/sslh
找到
Run=no
然后改成yes
Run=yes
允许 sslh在所有可用接口上侦听端口 443
DAEMON_OPTS="--user sslh --listen 0.0.0.0:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 --pidfile /var/run/sslh/sslh.pid"
然后就可以重启服务了
service sslh restart
重启服务后
测试---检查 SSLH 守护程序是否正在监听 443即可
# ps -ef | grep sslh