网络基础知识
IP地址
IPv4 32个比特位
0.0.0.0-255.255.255.255
0-4,294,967,296
划分 规定
CIDR
192.168.1.0/24 另一种表达方式
255.255.255.0
私有地址段
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16
动态 IP 与 静态 IP
DHCP
端口
网络设备
- 交换机 Switch 不能跨网段
- 路由器 Router 网关
- 网卡(NIC)
- 防火墙(Firewall)
- AP(无线接入点)相当于路由器
NAT
NAT 是一种 IP 地址转换技术,用于将私有网络(如局域网)中的地址转换成公网 IP 地址,以便访问互联网。
| 内网IP | 端口 | NAT转换后公网IP | 端口 |
|---|---|---|---|
| 192.168.1.10 | 12345 | 123.45.67.89 | 61000 |
| 192.168.1.11 | 54321 | 123.45.67.89 | 61001 |
ISP 分配公网 IP 给用户的“边缘设备”
| 设备类型 | IP 类型 | 备注 |
|---|---|---|
| 路由器/防火墙 | 公网 IP | 直接连接互联网,进行 NAT 转换 |
| 局域网设备 | 私有 IP | 通过路由器 NAT 使用公网 IP |
流量转发
端口转发
把进入某个端口的网络流量转发到另一台主机或另一个端口。
可以是外→内、内→外、本机→远端(灵活),本机→本机
根据不同的方向,选择不同的工具,较为万能的有ssh
端口映射
在路由器/NAT 上,把外网端口映射到内网某台主机的端口。
外网 → 内网直连(通过映射)
路由器、NAT网关、或管理员配置:需要路由器有公网IP
内网穿透
在内网(受 NAT/防火墙 或 ISP 限制)中,使外部网络能够访问内网主机/服务的一整套技术和方案。
内网 → 外网主动建立隧道,让外网能反向访问
通常是内网设备或第三方中继服务
frp,nps,ngrok,zerotier
端口转发(Port Forwarding)【最广义】
- 端口映射(Port Mapping)【路由器/NAT特例】
- 外网 → 内网
- 路由器/NAT配置,需要公网IP
- 内网穿透(NAT Traversal / Reverse Tunnel)【内网主动打洞特例】 -内网 → 外网主动建立隧道
- 解决无公网IP或受防火墙限制场景
- 工具:frp, nps, ngrok, zerotier
正向代理
(客户端 → 代理) → 目标服务器 | 代理服务器在客户端侧,隐藏客户端信息
替客户端访问服务器
应用场景:翻墙,隐藏自己
反向代理
客户端 → (反向代理 → 内部服务器) | 代理服务器在服务端侧,隐藏服务端信息
替服务器返回信息给客户端
应用场景:负载均衡,安全防护,CDN
多级代理
客户端->(代理1->代理2->代理3)->服务器 | 多层像链子一样的代理,代理链
应用场景:隐藏自己,复杂内网代理
proxychains
透明代理
指客户端和服务端感知不到代理的存在,客户端无需修改目的地址,也不需要采用代理协议连接代理服务器,所有目的地址转换都是在透明代理中完成的;
非透明代理:客户端需要修改目的地址为代理服务器的地址,并使用代理协议连接代理服务器
DDNS
在家庭或者一些特殊的网络环境中,运营商不会给提供静态IP地址,而是提供动态IP地址,这就意味着你的IP地址可能经常变动,一旦IP改变,那么DNS服务器解析自然就会失败,这样就没办法通过域名访问到服务器了
在DDNS客户端中配置好域名和IP的映射关系后,它会监控你的IP地址,一旦发现它变化了,就立刻通知DDNS服务器,最后DNS服务器会从DDNS服务器拿到映射关系,所以无论你的IP地址如何变动,通过你的DDNS域名可以随时访问家里的设备
链接shell
正向shell
目标机器(被攻击机)在某个端口监听 shell 连接请求。 攻击机主动去连接目标的这个端口,从而获得 shell 权限。
- 目标机必须 能被攻击机直接访问(即没有防火墙/NAT阻挡)。
- 容易被防火墙阻挡,尤其是在企业或家庭网络中,入站连接通常被禁止。
常用于内网的多级代理来链接机器(proxychains)
反向shell
攻击机在某个端口监听 被攻击机主动发起连接到攻击机(攻击者监听端口)。
- 更容易穿透 NAT、防火墙,因为大多数网络允许出站连接。
- 攻击机只需要 被动监听,不必暴露自己给目标公网。
- 需要有公网IP,内网设备可采用端口转发
在外网获取初始立足点
隧道
TCP/HTTP(S)
将流量放入上述协议中
- 优点:在大多数网络允许出站 HTTP/HTTPS,易通过企业防火墙。
DNS
把数据编码到 DNS 查询/响应的域名或 TXT 记录里 iodine, dnscat2
- 优点:DNS 几乎总被允许外发,能穿透许多受限网络。
ICMP 隧道
把负载放在 ICMP 报文(Echo Request/Reply)中传输。
- 优点:在某些网络中出站 ping 被允许,能绕过 TCP/UDP 限制。
代理工具
Frp
反向代理,内网穿透
Earthworm
rootkiter/Binary-files: EarthWorm/Termite 停止更新
EW(蚯蚓突破)是一款功能强大的网络穿透工具,它具备SOCKS5服务架设和端口转发两大核心功能,能够应对复杂的网络环境,并实现网络穿透。通过正向、反向、多级级联等方式,EW可以在防火墙限制下创建网络隧道,达到访问内网资源的目的。
NPS
一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。
Neo-reGeorg
L-codes/Neo-reGeorg: Neo-reGeorg is a project that seeks to aggressively refactor reGeorg
- => neoreg_servers/tunnel.jsp
- => neoreg_servers/tunnel.jspx
- => neoreg_servers/tunnel.ashx
- => neoreg_servers/tunnel.aspx
- => neoreg_servers/tunnel.php
- => neoreg_servers/tunnel.go
各种语言不同隧道
Proxychains-ng
一款在用户空间拦截并重定向程序网络流量到一个或多个代理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# proxychains.conf 示例(精简)
strict_chain # 严格链式:按顺序使用 proxies
#dynamic_chain # 动态链式:如果某个代理不可用,跳过它
#random_chain # 随机链式:随机选择代理顺序
proxy_dns # 通过代理解析 DNS,避免 DNS 泄漏(很重要)
tcp_read_time_out 15000
tcp_connect_time_out 8000
[ProxyList]
# 格式: 类型 IP 端口 [ 用户名 密码 ]
socks5 127.0.0.1 9050
socks5 1.2.3.4 1080 username passwd
http 9.8.7.6 8080
1
proxychains curl http://example.com/



