iptables

Nmap命令的29个实用范例 https://www.cnblogs.com/MacoLee/articles/5714165.html

===================================

nc指令开启tcp/udp端口及端品扫描
有时候我们的主机是在内网的, 但是为了线上业务功能会开放防火墙端口, 为了让公网上的用户能正常使用服务, 在IT同事配置好后检测他的工作是否完成, 不可能直接把自己的服务给部署上去, 因为还没开发好或没有达到上线标准, 那么我们就可以用nc这个指令在远程服务上模拟运行端口, 然后在本机上探测或扫描端口以达到判断的目的;

1. 在服务端开启udp端口监听:
    nc -ulp 25500
2. 在服务端开启tcp端口监听:
    nc -l 25500
3. 在客户端探测或发消息到udp端口 
    nc -vu xxx.xxx.xxx.xxx 25500
4. 在客户端探测或发消息到tcp端口
   nc -v xxx.xxx.xxx.xxx 25500
其它nc查关的参数见: nc -help
-i 设置数据报传送时间间隔
-l 以服务器方式运行
-k 重复接收并处理某个端口上的所有连接,必须与-l选项一起使用
-n 使用ip地址表示主机,而不是主机名;使用数字表示端口,而不是服务名称
-p 当nc命令以客户端运行时,强制其使用端口号
-s 设置本地主机发出的数据报的ip地址
-C 将CR和LF俩个字符作为行结束符
-U 使用UNIX本地域协议
-u 使用UDP协议,默认是TCP协议
-w 如果nc客户端在指定的事件内未检测到任何输入,则退出
-X 当nc客户端和代理服务器通信时,该选项指定他们之间的通信协议
-x 指定目标代理服务器的IP地址和端口号
-z 扫描目标机器上的某个或某些服务是否开启

==================================

linux 查看并对外开放端口(防火墙拦截处理) https://www.cnblogs.com/blog-yuesheng521/p/7198829.html

CentOS/Debian/Ubuntu系统iptables防火墙的基本应用规则配置教程 https://www.8dlive.com/post/538.html
iptables 之 REJECT 与 DROP 对比 https://segmentfault.com/a/1190000012637947
nc 监听端口

nc -l 4444
TCP端口扫描   nc -v -z -w2 127.0.0.1 1-100
Connection to 127.0.0.1 22 port [tcp/ssh] succeeded!

nmap 扫描端口

time nmap -p4444 127.0.0.1

使用下面命令发起 TCP 连接请求(nc 或者 telnet):

nc 127.0.0.1 4444

tcpdump 抓包分析

tcpdump -i lo port 4444

=====================================================================

iptables -t nat -L -n --line-number

这里要注意的地方就是手动添加的nat,在重启ufw时,不会自动清理掉,所以每次重启ufw前,你会要手动清除nat映射:

sudo iptables -F -t nat

在/etc/ufw/before.rules(文件顶部)中的过滤器部分之前添加:

*nat :PREROUTING ACCEPT [0:0] -A PREROUTING -p tcp --dport 1724 -j REDIRECT --to-port 1723 COMMIT

然后需要重新加载这些规则;只是禁用和重新启用ufw或运行ufw reload是不够的。最简单的解决方案是重新启动,否则您可以使用中提到的解决方法之一Launchpad bug#881137。

查看iptables生效状态
在中转服务器查看

iptables -t nat -L -v

查看指定规则表状态

iptables -t nat -vnL POSTROUTING
iptables -t nat -vnL PREROUTING

查看连接状态
在目标服务器查看

lsof -i:10010

重启防火墙

ufw reload
-A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-destination [目标服务器:端口]

-A POSTROUTING -s [回传服务器IP192.168.1.0/24] -o eth0 -j MASQUERADE

这个地方要注意的就是必需同时添加PREROUTING和POSTROUTING。

以上配置需要注意:

如果服务器是公网,然后通过公网IP+端口转内网的话,需要注意配置上面的网卡 eth0,可以执行ifconfig查询外网网卡是哪一个然后配置上去

多端口转发

$ iptables -t nat -A PREROUTING -p tcp  -m tcp --dport 10000:10010 -j DNAT --to-destination 103.79.78.76
$ iptables -t nat -A POSTROUTING -p tcp  -m tcp -d 103.79.78.76 --dport 10000:10010 -j SNAT --to-source 183.60.100.8

国外目标服务器IP: 103.79.78.76
国内中转服务器IP: 183.60.100.8
iptables 端口转发(CentOS)
注意:一来一去
在中转服务器操作

iptables -t nat -A PREROUTING -p tcp --dport [端口号] -j DNAT --to-destination [目标IP]
iptables -t nat -A POSTROUTING -p tcp -d [目标IP] --dport [端口号] -j SNAT --to-source [中转服务器IP]

开启ipv4转发

echo -e "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

同端口转发(tcp+udp)
本地网络连接的端口是10010

$ iptables -t nat -A PREROUTING -p tcp --dport 10010 -j DNAT --to-destination 103.79.78.76
$ iptables -t nat -A PREROUTING -p udp --dport 10010 -j DNAT --to-destination 103.79.78.76
$ iptables -t nat -A POSTROUTING -p tcp -d 103.79.78.76 --dport 10010 -j SNAT --to-source 183.60.100.8
$ iptables -t nat -A POSTROUTING -p udp -d 103.79.78.76 --dport 10010 -j SNAT --to-source 183.60.100.8

不同端口转发
本地网络连接的端口依旧是10010,而不是10086

iptables -t nat -A PREROUTING -p tcp  -m tcp --dport 10010 -j DNAT --to-destination 103.79.78.76:10086
iptables -t nat -A POSTROUTING -p tcp  -m tcp -d 103.79.78.76 --dport 10086 -j SNAT --to-source 183.60.100.8

多端口转发

本地网络连接的端口是10000-10010

$ iptables -t nat -A PREROUTING -p tcp  -m tcp --dport 10000:10010 -j DNAT --to-destination 103.79.78.76
$ iptables -t nat -A POSTROUTING -p tcp  -m tcp -d 103.79.78.76 --dport 10000:10010 -j SNAT --to-source 183.60.100.8

保存iptables配置

service iptables save

删除NAT规则
删除第一个规则

iptables -t nat -D POSTROUTING 1
iptables -t nat -D PREROUTING 1

ufw端口转发(Ubuntu)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值