[ PROMPT_NODE_27736 ]
Network 101
[ SKILL_DOCUMENTATION ]
# 网络基础 101
## 目的
为渗透测试实验室环境配置和测试常见的网络服务(HTTP、HTTPS、SNMP、SMB)。支持在正确配置的目标系统上进行服务枚举、日志分析和安全测试的实操练习。
## 输入/先决条件
- 用于托管服务的 Windows Server 或 Linux 系统
- 用于测试的 Kali Linux 或类似系统
- 目标系统的管理员权限
- 基础网络知识(IP 地址、端口)
- 用于端口配置的防火墙访问权限
## 输出/交付物
- 已配置的 HTTP/HTTPS Web 服务器
- 具有可访问社区字符串的 SNMP 服务
- 具有不同权限级别的 SMB 文件共享
- 用于分析的捕获日志
- 文档化的枚举结果
## 核心工作流
### 1. 配置 HTTP 服务器 (端口 80)
设置一个基础 HTTP Web 服务器进行测试:
**Windows IIS 设置:**
1. 打开 IIS 管理器 (Internet Information Services)
2. 右键点击“网站” → “添加网站”
3. 配置网站名称和物理路径
4. 绑定到 IP 地址和端口 80
**Linux Apache 设置:**
bash
# 安装 Apache
sudo apt update && sudo apt install apache2
# 启动服务
sudo systemctl start apache2
sudo systemctl enable apache2
# 创建测试页面
echo "
Test Page
" | sudo tee /var/www/html/index.html
# 验证服务
curl http://localhost
**配置 HTTP 防火墙:**
bash
# Linux (UFW)
sudo ufw allow 80/tcp
# Windows PowerShell
New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
### 2. 配置 HTTPS 服务器 (端口 443)
设置带有 SSL/TLS 的安全 HTTPS:
**生成自签名证书:**
bash
# Linux - 生成证书
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048
-keyout /etc/ssl/private/apache-selfsigned.key
-out /etc/ssl/certs/apache-selfsigned.crt
# 启用 SSL 模块
sudo a2enmod ssl
sudo systemctl restart apache2
**配置 Apache HTTPS:**
bash
# 编辑 SSL 虚拟主机
sudo nano /etc/apache2/sites-available/default-ssl.conf
# 启用站点
sudo a2ensite default-ssl
sudo systemctl reload apache2
**验证 HTTPS 设置:**
bash
# 检查 443 端口是否开启
nmap -p 443 192.168.1.1
# 测试 SSL 连接
openssl s_client -connect 192.168.1.1:443
# 检查证书
curl -kv https://192.168.1.1
### 3. 配置 SNMP 服务 (端口 161)
设置用于枚举练习的 SNMP:
**Linux SNMP 设置:**
bash
# 安装 SNMP 守护进程
sudo apt install snmpd snmp
# Co