介绍
使用扫描器之前,你需要区分地址、名称、网络路径与服务端口。这些是不同的观察结果,某一层成功不代表另一层也成功。
本实验在 Kali 环境内提供本地 DNS 服务器与 Web 服务。你将查看网络、解析训练名称并检查其 TCP 监听器,无需扫描网关或依赖公共目标。
查看地址、路由与回环可达性
本步骤中,你将查看 Kali 容器的网络,并测试一条范围有限的本地连接路径。
进入准备好的 shell 并选择工作区:
kali
cd /home/labex/project
IP 地址标识网络端点。接口是系统连接网络的通道;路由描述发往某个地址的流量应去往哪里。容器拥有自己的网络视图,因此要查看当前环境,不要假定它与宿主机设置相同。
ip 用于查看 Linux 网络。-brief 选项请求显示简洁的接口地址视图:
ip -brief address
找到回环接口 lo 和 127.0.0.1。回环流量留在当前网络环境内。其他接口和地址可能不同。/8 或 /16 之类的前缀描述地址的网络范围,不是服务端口。
查看路由:
ip route
如果存在 default 条目,当没有更具体的路由匹配时就会使用它。无需扫描网关或更改任何路由。
ping 发送可达性探测。-c 3 将测试限制为三次探测,使其自动结束:
ping -c 3 127.0.0.1
你应收到回复和最终数据包统计。具体时间会有所不同。ping 回复说明这些探测收到了响应,并不能证明某个 TCP 服务正在监听。
使用已学过的输出重定向,保存接口观察结果:
ip -brief address > interfaces.txt
cat interfaces.txt
保存的视图应包含回环接口及其地址。
使用训练 DNS 服务器解析名称
本步骤中,你将通过本地 DNS 服务器区分名称解析与服务连通性。
DNS 将名称转换为记录。A 记录存放 IPv4 地址。本实验提供位于 127.0.0.1 的 DNS 服务器,端口为 5353,并提供本地名称 training-web.test;无需公共 DNS 服务。
dig 查询 DNS。@127.0.0.1 选择服务器,-p 5353 选择非默认 DNS 端口,下一个参数是名称,A 请求 IPv4 地址记录:
dig @127.0.0.1 -p 5353 training-web.test A
应答区域应显示名称与地址 127.0.0.1。DNS 也使用端口:这里的端口 5353 属于训练 DNS 服务器,而非应答所指向的 Web 服务。
显示选项 +short 只打印应答数据。保存这一更简短的结果:
dig @127.0.0.1 -p 5353 +short training-web.test A > dns-answer.txt
cat dns-answer.txt
预期输出:
127.0.0.1
系统名称查找也可能使用本地文件,而非直接查询 DNS。getent hosts 通过系统配置的主机查找机制查询名称:
getent hosts localhost
输出将 localhost 与回环地址关联起来,可能是 IPv6 地址 ::1。这与使用 dig 显式查询提供的 DNS 服务器不同。名称解析成功会给出地址;你仍需检查所需服务是否在该地址可用。
查看监听器并测试 TCP 端口
本步骤中,你将把地址与具体传输协议及服务端口联系起来。
端口标识某地址上的传输端点。TCP 建立连接;UDP 发送数据报,没有相同的连接握手。仅凭服务端口号无法证明具体应用或漏洞的存在。
ss 显示套接字信息。-l 选择监听套接字,-t 选择 TCP,-n 保留数字地址和端口号:
ss -ltn
找到本地端点 127.0.0.1:8080。它属于提供的训练 Web 服务。该地址将服务限制在容器内的回环接口上。用 -u 替换 -t,单独查看 UDP 套接字:
ss -lun
训练 DNS 端点使用端口 5353。TCP 和 UDP 拥有各自独立的端口空间;两个协议可以使用相同数字。
只保存练习服务的 TCP 监听行。模式包含端口前的冒号和末尾空格,以便与更长的数字区分:
ss -ltn | grep ':8080 ' > service-listener.txt
cat service-listener.txt
该行应显示 LISTEN 和 127.0.0.1:8080;间距与队列数值可能不同。
Ncat 能在不发送应用数据的情况下测试 TCP 连接。-v 打印状态,-z 请求连接检查,而非交互式数据会话:
ncat -vz 127.0.0.1 8080
状态应报告连接成功。这证明选定 TCP 端口此刻接受连接,但尚未验证 HTTP 响应。你将在后续实验中检查 HTTP 本身。
总结
你查看了接口与路由,发送了次数有限的可达性测试,查询了本地 DNS,查看了 TCP 与 UDP 监听器,并测试了一次 TCP 连接。你区分了成功解析、网络可达性与应用层行为。



