写在前面:合法学习边界
本文面向正在从零学习网络安全、渗透测试和系统运维的人。文中会用简单命令演示如何查看本机网络状态,这些命令默认只检查你自己有权访问的计算机。若要把扫描、探测、抓包、漏洞验证等动作用到别的系统上,必须先获得明确授权;未经授权访问他人系统、网站、服务器或内网设备,在中国可能触犯《网络安全法》《数据安全法》《个人信息保护法》和《刑法》中的相关规定。学习网络安全时,请始终遵守授权、最小必要和影响可控的原则。
一、为什么网络学习要从 IP、端口和协议开始
网络安全并不是只看漏洞利用。要理解攻击者如何发现目标、如何连接服务、如何定位应用漏洞,必须先理解数据是如何在网络中流动的。网络通信看似复杂,但核心对象其实不多:主机用什么地址被找到、服务在哪个端口监听、双方用什么协议交换数据、应用层又如何定义请求与响应。
可以把网络通信想象成寄快递。IP 地址相当于收件地址,端口相当于收件人在同一栋楼里的房间号,协议相当于双方必须遵守的沟通规则。快递公司负责把包裹从发件地送到收件地,路由器负责选择路径,网卡和操作系统负责收发数据包,应用层则决定包裹里到底是网页、文件、登录表单还是邮件。
掌握这些概念后,后面的 HTTP/HTTPS、抓包、端口扫描、Web 漏洞、日志分析和应急响应都会更清楚。你看的不只是屏幕上的网页,而是请求在网络中如何被封装、转发、接收、解析和执行。
二、IP 地址:主机的网络门牌号
IP 地址用于标识网络中的主机。常见的是 IPv4,例如 192.168.1.100 或 10.0.0.5。IPv4 地址由 32 位二进制组成,通常写成四段十进制数字,每段范围是 0 到 255。因为 32 位地址数量有限,现实中又常用 NAT、私有地址和 IPv6 来扩展可用范围。
常见私有地址包括:
| |
这些地址通常用于家庭、公司或云服务器内部网络。外部网络一般不能直接访问这些地址,除非经过 NAT、端口映射、VPN 或跳板机。
1. 公网 IP 与私有 IP
公网 IP 是可以被互联网上的其他主机直接访问的地址。私有 IP 只在局域网内部有意义。比如家里的电脑可能是 192.168.1.100,而家庭路由器对外可能是 123.45.67.89。路由器通过 NAT 把内部多个设备映射到同一个公网 IP。
对于安全学习来说,这有两个含义:第一,很多漏洞只能在目标所在网络或云内网中被发现;第二,从公网扫描内网地址没有意义,除非你已经进入内网或目标主动暴露了内网端口。
2. CIDR 和子网
你可能会看到 192.168.1.0/24。这里的 /24 表示前 24 位是网络位,后 8 位是主机位,所以这个子网大约有 254 个可用主机地址。学习网络安全时,理解 CIDR 很重要,因为扫描范围、防火墙规则、云安全组、日志来源 IP 分析都会用到它。
例如:
| |
三、端口:同一台主机上的服务房间号
一台主机可以同时运行很多服务:Web 服务、数据库、邮件服务、SSH、远程桌面等。IP 地址只能定位到主机,不能告诉系统要把数据交给哪个程序。端口就是解决这个问题。
端口范围是 0 到 65535:
| |
常见端口包括:
| 端口 | 常见协议或服务 | 用途 |
|---|---|---|
| 20/21 | FTP | 文件传输 |
| 22 | SSH | Linux 远程管理 |
| 25 | SMTP | 发送邮件 |
| 53 | DNS | 域名解析 |
| 67/68 | DHCP | 动态分配 IP |
| 80 | HTTP | 普通 Web 访问 |
| 110 | POP3 | 接收邮件 |
| 143 | IMAP | 接收邮件 |
| 443 | HTTPS | 加密 Web 访问 |
| 3306 | MySQL | MySQL 数据库 |
| 3389 | RDP | Windows 远程桌面 |
| 5432 | PostgreSQL | PostgreSQL 数据库 |
| 6379 | Redis | 缓存服务 |
| 8080 | HTTP/代理/应用 | 常见 Web 或反向代理端口 |
需要注意的是,端口和服务并不绝对绑定。一个服务可以监听任意端口,例如 Nginx 不一定只监听 80,MySQL 也可能被配置为其他端口。因此安全人员会通过端口号、服务响应、认证页面、Banner 和漏洞指纹综合判断。
四、协议:通信双方必须遵守的规则
协议不是工具,而是一套规则。没有协议,收发双方就无法理解对方发送的数据。
网络安全学习中常见协议可以分为几类:
1. TCP:可靠的“打电话式”连接
TCP 负责建立可靠连接。它会通过三次握手建立连接,通过序列号、确认号和重传机制保证数据按顺序到达。HTTP、HTTPS、SSH、数据库连接大多基于 TCP。
典型 Web 访问流程可以理解为:
| |
2. UDP:简单的“发信式”传输
UDP 不保证连接建立、不保证顺序、也不负责可靠重传。它更轻,适合 DNS 查询、部分视频流、游戏服务和 ICMP 之外的轻量协议。UDP 的优势是快,代价是可靠性要求需要应用自己处理。
3. ICMP:网络诊断和错误反馈
ICMP 常用于 ping 和路径诊断。它不是用来传输业务数据的协议,但对网络连通性排查很重要。
| |
Windows 下使用 tracert,Linux 下常用:
| |
五、HTTP 和 HTTPS:最常见的应用层协议
HTTP 是超文本传输协议,用来规定浏览器和服务器如何请求网页。一次访问网页时,浏览器通常会在 TCP 连接上发送 HTTP 请求,服务器返回 HTML、CSS、JavaScript、图片等资源。
HTTPS 并不是另一种完全独立的业务语言,而是在 HTTP 外层增加 TLS/SSL 加密。它解决三个核心问题:加密传输、身份认证、完整性保护。
访问 HTTPS 网站时,大致流程是:
| |
所以抓包时,HTTP 可以看见明文请求体、Cookie 和表单参数;HTTPS 通常只能看到域名、证书信息、TLS 握手和密文,除非你能合法拥有对应密钥、证书解密配置或代理信任链。
六、动手:查看本机网络状态
以下命令适合在 Linux 系统中学习。它们检查的是本机状态,不涉及扫描他人系统。
1. 查看本机 IP 和接口
| |
关注 eth0、ens33、wlan0 等接口下的 inet 地址。127.0.0.1 是回环地址,代表本机;192.168.x.x 通常是局域网地址。
2. 查看本机监听端口
| |
解释一下参数:
| |
你通常会看到类似结果:
| |
这说明本机在 22 端口运行 SSH,在 80 端口运行 Nginx。
3. 测试本机到目标的连通性
| |
如果 ping 不通,不一定是网络故障。很多防火墙会丢弃 ICMP,或者服务器禁用了 ping。此时还可以用端口探测判断服务是否可达。
4. 查看 TCP 连接状态
| |
常见状态包括:
| |
安全排查中,TIME_WAIT 和 CLOSE_WAIT 的异常堆积可能说明应用连接没有正确关闭,或者 Web 服务正在承受异常流量。
5. 测试 HTTP 和 HTTPS 响应
| |
-I 表示只请求响应头,-v 显示连接和 TLS 相关信息。若只是测试公开且你有权访问的网站,这是正常的网络诊断动作;如果目标是私有系统或企业资产,必须获得授权。
6. 关于端口扫描工具 Nmap
Nmap 是安全人员常用的网络探测工具,但它本质上是在探测目标系统和开放服务。学习时可以这样理解命令:
| |
这些示例不能直接用于任意互联网地址。只有当你拥有明确书面授权,并且确认扫描范围、时间窗口、速率和目标边界时,才可以使用。未经授权扫描他人主机可能导致误判、触发安全告警,严重时可能承担法律责任。
七、从安全角度看 IP、端口和协议
网络安全人员经常通过 IP、端口和协议做判断。
1. 攻击面分析
一个网站开放 80 和 443 端口,通常意味着存在 Web 攻击面;如果还开放 22 端口,可能存在 SSH 爆破面;如果开放 3306、6379、8080、9200 等服务端口,需要重点确认是否存在公网暴露、弱口令或未授权访问。
真实环境中,很多安全问题并不是单个漏洞导致,而是“公网暴露 + 默认端口 + 弱口令 + 无访问控制 + 日志缺失”的组合结果。
2. 源 IP 和请求链路
日志中的 IP 未必直接是攻击者真实地址。经过 CDN、反向代理、NAT、代理 IP、跳板机后,源 IP 可能被转换。很多 Web 日志需要结合 X-Forwarded-For、X-Real-IP 和代理链路信息判断。但也不能盲目信任这些头部字段,因为它们可以被客户端伪造。
3. 端口与服务识别
端口只是线索,不是最终证据。攻击者在利用漏洞前通常还会确认服务类型、版本、协议细节和是否存在防护。比如 HTTP 服务可能经过 Nginx、Apache、Tomcat、Node.js、PHP-FPM 等组合;同一个 80 端口背后可能是静态网站,也可能是复杂 API。
4. 协议层异常
很多异常流量会先在协议层暴露出来:大量 SYN 未完成连接、同一 IP 频繁访问 404、短时间访问大量端口、异常 User-Agent、HTTP 请求方法异常、TLS 指纹明显不同于正常浏览器等。这些都不是单一漏洞利用,却是应急响应和日志分析中的重要线索。
八、常见误解
误解一:IP 地址就是真实身份
IP 地址可以变化,代理、VPN、NAT、移动网络都会改变出口 IP。安全调查中不能只靠 IP 定责,还要结合认证信息、行为链路、日志时间线和证据保存情况。
误解二:端口开放就等于漏洞存在
端口开放只说明服务可能存在,不等于一定有漏洞。但公网暴露服务会扩大攻击面,需要进一步检查访问控制、版本、账号策略、补丁状态和日志。
误解三:HTTPS 就是绝对安全
HTTPS 主要保护传输过程,不能单独保证后端应用安全。登录表单被窃取后,如果后端存在 SQL 注入,HTTPS 并不能阻止攻击;用户登录成功后,如果 Cookie 被 XSS 窃取,HTTPS 也不能替代应用安全设计。
九、小结
网络基础可以总结成一句话:IP 找到主机,端口找到服务,协议决定沟通方式,应用层定义具体业务。学习网络安全时,不要把工具命令当成重点,真正重要的是理解数据如何在网络上流动、服务如何被访问、异常行为如何被观察和解释。
建议你把本文作为阶段一第一篇文章来读。接下来可以继续学习 HTTP/HTTPS 抓包入门,重点观察浏览器与服务器之间到底发生了什么。理解这些基础之后,再进入 Web 安全、SQL 注入、XSS、端口扫描和日志分析,学习路径会更稳。