目录 iptables做端口复用 方案一:(根据源地址做端口复用) 方案二:(根据源地址源端口做端口复用) 方案三:(利用ICMP协议做遥控开关) 方案四:(利用TCP协议做遥控开关) iptables...目标主机是Linux系统,目标主机防火墙有严格的限制,只允许80端口的流量进入。我们拿到了目标主机的Webshell并且拿到了SSH的账号密码。...但是我们不能通过22端口远程连接,必须得利用80端口做端口复用连接。...现在我们的思路就是利用Linux的iptables防火墙的nat表的PREROUTING 链做端口复用,因为nat 表的 PREROUTING 链会在路由决策之前被处理。...方案二:(根据源地址源端口做端口复用) 以下的命令是根据源地址源端口做端口复用,也就是只有来自192.168.10.13主机的33333端口的访问80端口的流量会被转给22端口。
Backend中需要编写具体的操作,就是转达到哪个目标的哪个端口。...5.实验 ---- Target1:Ubuntu 16.04 x64 IP:192.168.213.128 开启22端口、80端口 ?...6.端口重定向 ---- 为了不影响正常的80端口的访问,将过来的80端口流量转发到8888端口上。这样用户正常访问80端口时,流量会先转发到8888端口上,再由haproxy转发回80端口。...Linux:iptables(不需要重启服务) iptables ‐t nat ‐A PREROUTING ‐i eth0 ‐p tcp ‐‐dport 80 ‐j REDIRECT ‐‐to‐port...,需要在端口启动前添加netsh端口转发规则。
前言 最近自己摸一个小玩具,开始尝试 GRPC 和 Gateway,于是顺道体验了一下端口复用。...GPRC 请求使用专门的反代方式 reverse_proxy 127.0.0.1:8888 } 同理你也可以参照上面的配置方式配置负载均衡等操作,因为我的专案中 cmux 使多种流量聚合在了同一个端口上
cmux的作用 一般情况下,每个端口只能为一个服务所用,如果复用,会报"port is already in use" 如果需要复用某个端口,那么可以使用cmux来实现(其实大多数情况下必要性不大.比如我就图...8888端口吉利,http/grpc等服务都用这个端口) cmux[1] 全称 Connection Mux, 是Go生态来复用端口的库, 可以在同一个TCP监听器上服务 gRPC、SSH、HTTPS、...helloworld/greeter_client, 然后再 ${GOPATH}/bin/greeter_client -addr localhost:8888 更多可参考 Go每日一库之139:cmux (连接多路复用...github.com/soheilhy/cmux [2] cmux 源码分析: https://wadevan.github.io/post/cmux/ [3] Go每日一库之139:cmux (连接多路复用
前言:端口复用是网络编程里的经典问题,同时这里面的知识点又非常繁琐,本文通过代码简单介绍一下 SO_REUSEADDR,但不会涉及到 SO_REUSEPORT。...长期以来,我们都有一个认知,就是不能监听同一个端口。比如以下代码。...但是真的不能绑定到同一个端口吗?不一定。...由此可见,平时我们认为多个服务器不能同时监听同一个端口是因为我们只指定了端口,而没有指定 IP。...当第二次监听同一个端口时就会报错。接着看第二种情况。
远程遥控 IPTables 进行端口复用 现在的问题只有一个,如何区分到 80 端口的正常流量和“复用流量”?...正常的的 HTTP 流量应该让它正常地发往 Apache,而“复用流量”应该前往 22 端口。答案也很简单,只要“复用流量”有特征就可以了。...今天我对这个方法进行了改进,不再用 source port 做为 “复用流量” 的标识,所以也就不再用 socat 来进行一次本地的转发了。同时,加入了远程遥控端口复用开关的功能。...创建端口复用链iptables -t nat -N LETMEIN# 创建端口复用规则,将流量转发至 22 端口iptables -t nat -A LETMEIN -p tcp -j REDIRECT...端口复用链iptables -t nat -N LETMEIN# 端口复用规则iptables -t nat -A LETMEIN -p tcp -j REDIRECT —to-port 22# 开启开关
请看下图 端口复用常见的用途包括: 防止服务器重启时,之前绑定的端口还未释放; 程序突然退出系统但是没有释放端口。...设置端口复用需要用到的API如下: int opt = 1; setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (const void *)&opt, sizeof...,需要注意的是,必须在绑定端口之前就设置端口复用属性。...实际上setsockopt()函数有很多功能,设置端口复用只是它的功能之一。...下面是一个设置端口复用的示例 #include #include #include #include #include
功能: 端口复用可以更好地隐蔽攻击行为,提高生存几率。 端口复用有时也用作通道后门。...一、Linux端口复用 ---- 1.概述 使用iptables实现端口复用,使用socat进行连接。...使用该方法开启的端口复用为有限的端口复用,复用后端口正常业务会受影响,仅用于后门留存,或者临时使用,不建议长期使用。...2.原理 (1) iptables iptables是linux下的防火墙管理工具。 真正实现防火墙功能的是netfilter,它是linux内核中实现包过滤的核心。 免费。... ‐‐dport 目标端口 ‐j 动作 (8) socat Socat是linux下的一个多功能的网络工具,名字来由是socket cat。
今天说一说udp端口转发 Linux,Linux iptables 端口转发[通俗易懂],希望能够帮助大家进步!!!...准备: 1, UDP端口范围映射 2, tcp 端口范围映射 3, 本机端口转发 4, 单个端口转发 打开转发 [root@CentOS ~]# cat /etc/sysctl.conf | grep...可以发现:端口映射完全匹配,双通互发数据成功!...2, tcp 端口范围映射 tcp 端口范围映射: [root@CentOS ~]# iptables -t nat -A PREROUTING -p tcp --dport 2000:2500 -j...4, 单个端口转发 端口转发 tcp模式:将访问本机1122端口数据包转发给192.168.66.2:5566 iptables -t nat -A PREROUTING -p tcp --dport
目录 端口复用 端口复用的简单实现(python脚本) 端口复用 端口复用就是在一个开放的端口上,通过对输入的信息进行字符匹配,来运行不同的服务。...端口复用只对输入的信息进行字符匹配,不对网络数据进行任何拦截、复制类操作,所以对网络数据的传输性能丝毫不受影响。端口复用常被黑客用来制作后门。...端口复用的简单实现(python脚本) 这是一个TCP端口复用的脚本,使用python3开发,当运行该脚本后,你访问指定的端口,脚本中的路由会自动将你的流量转发到对于的路由上。...公众号后台回复:端口复用 下载脚本。...访问目标主机的2222端口,脚本会自动将路由转到80端口 mstsc访问目标主机的2222端口,脚本会自动将路由转到3389端口 SSH访问目标主机的2222端口,脚本会自动将路由转到22端口 来源
keepalive_timeout 65; #gzip on; server { listen 80; #业务监听端口....*) https://$server_name$1 permanent; } #以上配置文件的意思为重写服务器的http 80端口至...https 443端口 server { listen 443; server_name www.secddi.com; #此处为https的URL地址 index index.html
0x00:前言 说到端口复用,大部分人第一反应肯定是想到内核驱动,需要对网络接口进行一些高大上的操作才能实现。...基本原理介绍 该后门的基本原理是使用Windows的远程管理管理服务WinRM,组合HTTP.sys驱动自带的端口复用功能,一起实现正向的端口复用后门。...因此,在安装了IIS的边界Windows服务器上,开启WinRM服务后修改默认listener端口为80或新增一个80端口的listener即可实现端口复用,可以直接通过Web端口登录Windows服务器...对于安装Windows 2012及以上版本操作系统的服务器来讲,只需要这一条命令即可实现端口复用。...结语 本文给出了一种使用WinRM作为端口复用后门的方法。但限于篇幅,还存在很多细节问题没有涉及,留待读者进行更深层次的研究。
Linux 端口转发...iptables 端口转发 iptables -t nat -A PREROUTING -d 114.114.114.114 -p tcp -m tcp --dport 3389 -j DNAT --...-dport 3389 -j SNAT --to-source 10.0.0.254 #外网接口地址114.114.114.114 内网接口地址10.0.0.254,内部服务器10.0.1.123转发端口...、转发的地址 、转发的端口 启动rinetd服务 rinetd -c /etc/rinetd.conf SSH ssh转发命令 本地执行建立隧道,通过本机端口访问内部主机 ssh -N -L 0.0.0.0...:888:192.168.10.1:55555 -p55555 root@192.168.10.1 -f #外网ssh访问转发主机888端口就可以连接到内网192.168.10.1; -L 本机端口
在linux中我们可以通过命令来启动和关闭端口,那么具体是哪个命令呢?下面由学习啦小编为大家整理了linux关闭端口的相关命令,希望对大家有所帮助。...linux关闭端口命令 前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。...下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。...1. linux查看端口状态命令 netstat -anp (注:加参数’-n’会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049, ftp->21,因此可以开启两个终端,一一对应一下程序所对应的端口号...(注:有些端口通过netstat查不出来,更可靠的方法是”sudo nmap -sT -O localhost”) 3. linux关闭某个端口命令 1)通过iptables工具将该端口禁掉,如: “sudo
1.centos7版本对防火墙进行 加强,不再使用原来的iptables,启用firewall 1.查看已开放的端口(默认不开放任何端口) firewall-cmd –list-ports 2.开启80...端口 firewall-cmd –zone=public(作用域) –add-port=80/tcp(端口和访问类型) –permanent(永久生效) firewall-cmd –zone=public...firewalld.service 6.删除 firewall-cmd –zone= public –remove-port=80/tcp –permanent 2.centos7以下版本 1.开放80,22,8080 端口...ACCEPT /sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT 2.保存 /etc/rc.d/init.d/iptables save 3.查看打开的端口
'端口'解义 以下讲义,纯属个人所学理解,可能会有出入,仅参考。 端口分物理端口和应用端口。物理端口是物理设备的,比如笔记本上插网线的网口,就属于物理端口。...应用端口是虚拟的,是网络模型中传输层的一种含义,也叫网络端口。大家常听的tcp端口、udp端口,是用来监听网络信息传输的。...一般来说,一个应用或者一个服务对一个网络端口,网络信息传输到设备的物理端口,既网络模型中的物理层,经链路层、网络层传输到操作系统中,操作系统会根据网络信息中的目的端口来确认接受信息的应用或者服务。...列出正在监听的端口 netstat -at # 列出所有TCP端口 netstat -au # 列出所有UDP端口 netstat -ax # 列出所有...在Linux中,所有内容都是文件,你可以将套接字视为写入网络的文件。
TCP端口复用引发的异常,用setsockopt来解决 我们在并发连接一个服务端时候他会出现这种情况 OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次...假如端口被socket使用过,并且利用socket.close()来关闭连接,但此时端口还没有释放,要经过一个TIME_WAIT的过程之后才能使用,这是TNN的相当烦银的,为了实现端口的马上复用,可以选择...端口复用的实现,我在这里用Python举个TCP端口复用的例子,UDP套接字要做的完全一样。...我们可以在定义好的端口加这句 from socket import server = socket() server.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
TCP端口复用引发的异常,用setsockopt来解决 我们在并发连接一个服务端时候他会出现这种情况 OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次...假如端口被socket使用过,并且利用socket.close()来关闭连接,但此时端口还没有释放,要经过一个TIME_WAIT的过程之后才能使用,这是TNN的相当烦银的,为了实现端口的马上复用,可以选择...setsockopt()函数来达到.端口复用的实现,我在这里用Python举个TCP端口复用的例子,UDP套接字要做的完全一样。...我们可以在定义好的端口加这句 from socket import server = socket() server.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) server.bind
CentOS7 想通过防火墙打开8080端口登录tomcat却发现提示 /etc/rc.d/init.d/iptable.找不到文件, 最后发现因为于CentOS7不用iptables执行命令了,所以应用...etc/selinux/config 修改 selinux 配置文件 将SELINUX=enforcing改为SELINUX=disabled,保存后退出 reboot #重启服务器 CentOS6 linux...查看并对外开放端口(防火墙拦截处理) 查看端口是否可访问:telnet ip 端口号 (如本机的35465:telnet localhost 35465) 开放的端口位于/etc/sysconfig...iptables -A和-I的区别](https://www.cnblogs.com/mustark/p/11189883.html) 若/etc/sysconfig/iptables不存在, 原因:在新安装的linux...命令随便写一条防火墙规则,如:iptables -P OUTPUT ACCEPT 使用service iptables save进行保存,默认就保存到了/etc/sysconfig目录下的iptables文件中 Linux
端口转发映射的程序叫rinetd,下载地址,直接manke编译安装即可。...要跳转的IP 要跳转的端口;在每一单独的行中指定每个要转发的端口。...源地址和目的地址都可以是主机名或IP 地址,IP 地址0.0.0.0 将rinetd 绑定到任何可用的本地IP地址上: 例如将所有发往本机80端口的请求转发到192.168.4.247的80端口...:123 & 在本地监听188端口,并将请求转发至192.168.1.22的123端口 TCP4-LISTEN:在本地建立的是一个TCP ipv4协议的监听端口; reuseaddr...:绑定本地一个端口; fork:设定多链接模式,即当一个链接被建立后,自动复制一个同样的端口再进行监听 socat启动监听模式会在前端占用一个shell,因此需使其在后台执行。
领取专属 10元无门槛券
手把手带您无忧上云