涉及工具主要分为两类
本地socket监视器
- netstat (net-tools)
- ss: netstat 的替代 (iproute2)
- somo: netstat 的替代
网络扫描器
Tool | Category | Description |
---|---|---|
netstat | Monitor | 基于/procfs 的过时老东西 |
somo | Monitor | netstat 的用户友好替代 原理没区别 |
ss | Monitor | netstat 的新协议替代 效率更高 |
rustscan | Scanner | 快速的端口扫描器 (nmap的扫雷工具) |
nmap | Scanner | 网络发现工具 |
Monitor
netstat
属于很经典的工具 不过在新一点的系统上 已经被 ss
替代了
netstat
解析 /procfs
获取信息 当系统socket多时 性能较差
somo
原理与 netstat
相同 只是CLI更友好
ss
(Socket Statistics) 使用 netlink 与内核通信 效率更高
Scanner
nmap
核心机制为直接构造并发送原始 IP 数据包
TCP SYN(-sS)
: 需要root的半开放扫描 直接发送 TCP SYN 包 通过回复判断端口是否开放TCP Connect(-sT)
: 非root扫描 通过connect
函数来建立完整连接UDP(-sU)
: 扫描 UDP 端口 通过ICMP消息来判断
rustscan
核心任务是快速找到开放端口 (nmap
的前置过滤)
- 异步高并发
- 速度主要由timeout限制
这两者都提供了脚本引擎来丰富功能
rustscan 的脚本引擎默认是后处理脚本 调用格式为 {{script}} {{ip}} {{port}}
默认脚本为 nmap -vvv -p {{port}} {{ip}}
|
|
只扫描 不使用nmap
来进一步处理