nc 瑞士军刀
[v1.10-41]
使用格式: nc [-参数] 主机名 端口[s] [端口] …
侦听入站: nc -l -p 端口[-参数] [主机名] [端口]
参数选项:
-c shell commands as `-e’; use /bin/sh to exec [dangerous!!]
-e filename program to exec after connect [dangerous!!]
-b 是否允许广播
-g gateway 源路由跳点[s], up to 8
-G num 源路由指针: 4, 8, 12, …
-h this cruft
-i secs 线路延时间隔, 端口扫描
-k set keepalive option on socket
-l 监听模式, 入站链接
-n 只使用 IP 地址不通过 DNS解析
-o file 使用十六进制
-p port 本地端口号
-r 跟随本地和端口
-q secs quit after EOF on stdin and delay of secs
-s addr 本地源地址
-T tos set Type Of Service
-t 使用telnet连接
-u UDP 模式
-v verbose [use twice to be more verbose]
-w secs 连接目标网络超时时间
-C Send CRLF as line-ending
-z zero-I/O mode [used for scanning]
端口号可以是一个或者是一段: lo-hi [inclusive];
在端口名称处必须使用反斜杠 (e.g. ‘ftp\-data’).
nmap 扫描工具
Nmap 7.30 ( https://nmap.org )
使用方法: nmap [扫描类型(s)] [选项] {目标说明}
目标说明:
通过主机名称, IP 地址, 网段, 等等.
协议: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL <inputfilename>: 输入 主机或者网段
-iR <主机数>:随机选择目标
–exclude <主机1[,主机2][,主机3],…>: 排除的IP或者网段
–excludefile <exclude_file>: 从文件中排除
主机发现:
-sL: List Scan – 简单的列出目标进行扫描
-sn: Ping Scan – 禁用端口扫描
-Pn: Treat all hosts as online — 不使用主机发现
-PS/PA/PU/PY[portlist]: 通过TCP SYN/ACK, UDP or SCTP 等协议发现指定端口
-PE/PP/PM: 使用ICMP协议响应, 时间戳, 和子网掩码 请求 发现 探测
-PO[protocol list]: 使用ip协议
-n/-R: Never do DNS resolution/Always resolve [默认选项]
–dns-servers <serv1[,serv2],…>: 自动以DNS
–system-dns: 使用系统DNS
–traceroute: 跟踪每个主机的路径
扫描技术:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon 等协议扫描
-sU: UDP 扫描
-sN/sF/sX: 空的TCP, FIN, 和 Xmas 扫描
–scanflags <flags>:自定义tcp扫描
-sI <zombie host[:probeport]>: 空间扫描
-sY/sZ: SCTP初始化 或者 cookie-echo扫描
-sO: IP协议扫描
-b <FTP relay host>: FTP 反弹扫描
规范端口和扫描序列:
-p <port ranges>: 只扫描指定端口
使用规范: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
–exclude-ports <port ranges>: 排除指定端口扫描
-F: 快速扫描- 扫描常用端口
-r: 连续端口扫描 – 不随机
–top-ports <number>: 扫描 <number> 常见的端口
–port-ratio <ratio>: Scan ports more common than <ratio>
服务和版本检测:
-sV: 探索开放的端口 以确定服务和版本号
–version-intensity <level>:设置