我有“(22 - '无效参数')”使用nmap
.我用谷歌搜索并得到了https://seclists.org/nmap-dev/,但那是在讨论 IPv6,而我在使用 IPv4 时遇到了此错误。它没有提到 IPv4,那为什么我会收到这个奇怪的错误呢?
我进入了:
$ nmap --send-eth --release-memory --nsock-engine=epoll --allports --fuzzy \
--randomize-hosts --log-errors --max-os-tries=9 -n --reason \
--append-output --scanflags=URGACKPSHRSTSYNFIN --max-retries=6 \
--host-timeout=225s --stats-every=10m --ttl=255 --min-hostgroup=5 . \
--max-hostgroup=25 --max-rtt-timeout=60s --scan-delay=250ms . \
--max-scan-delay=25s --stats-every=1 -v5 -sT -sV -A -p 80-82 \
0.18.0.0
并得到这个结果:
Starting Nmap 7.70 ( https://nmap.org ) at 2019-01-17 16:05 CET
NSE: Loaded 148 scripts for scanning.
NSE: Script Pre-scanning.
NSE: Starting runlevel 1 (of 2) scan.
Initiating NSE at 16:05
Completed NSE at 16:05, 0.00s elapsed
NSE: Starting runlevel 2 (of 2) scan.
Initiating NSE at 16:05
Completed NSE at 16:05, 0.00s elapsed
Initiating Ping Scan at 16:05
Scanning 0.18.0.0 [2 ports]
Stats: 0:00:01 elapsed; 0 hosts completed (0 up), 1 undergoing Ping Scan
Ping Scan Timing: About 0.00% done
Strange read error from 0.18.0.0 (22 - 'Invalid argument')
Strange read error from 0.18.0.0 (22 - 'Invalid argument')
Completed Ping Scan at 16:05, 0.50s elapsed (1 total hosts)
NSE: Script Post-scanning.
NSE: Starting runlevel 1 (of 2) scan.
Initiating NSE at 16:05
Completed NSE at 16:05, 0.00s elapsed
NSE: Starting runlevel 2 (of 2) scan.
Initiating NSE at 16:05
Completed NSE at 16:05, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 1.46 seconds
当尝试使用更少的参数时nmap -p 80-82 0.18.0.0
得到:
Starting Nmap 7.70 ( https://nmap.org ) at 2019-01-17 16:24 CET
Strange read error from 0.18.0.0 (22 - 'Invalid argument')
Strange read error from 0.18.0.0 (22 - 'Invalid argument')
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 0.12 seconds
当我尝试时ncat
得到:
$ nc -vvv 0.18.0.0 80
0.18.0.0: inverse host lookup failed: Unknown host
(UNKNOWN) [0.18.0.0] 80 (http) : Invalid argument
sent 0, rcvd 0
$ nc -vvv 0.18.0.0 81
0.18.0.0: inverse host lookup failed: Unknown host
(UNKNOWN) [0.18.0.0] 81 (hosts2-ns) : Invalid argument
sent 0, rcvd 0
我仍然有“无效参数”,但这次我得到的是邮政号码和服务,而不是 22:
80 (http)
81 (hosts2-ns)
这提出了几个问题:
ncat
和的“无效论证”是否nmap
与同一件事有关?- 我怎样才能提供
nmap
信息而不是打印 22? - 我怎么能说远程端口确实是关闭的,还是真的是开放的并且由于防火墙而拒绝?
答案1
地址0.18.0.0(分别。0.0.0.0/8) 不允许作为标准™ 的目标 IP 地址:
从RFC 6890:
2.2.2. IPv4 特殊用途地址注册表项
下面的表 1 至表 16 代表了 IANA最初填充 IPv4 特殊用途地址注册表的条目。+----------------------+----------------------------+ | Attribute | Value | +----------------------+----------------------------+ | Address Block | 0.0.0.0/8 | | Name | "This host on this network"| | RFC | [RFC1122], Section 3.2.1.3 | | Allocation Date | September 1981 | | Termination Date | N/A | | Source | True | | Destination | False | | Forwardable | False | | Global | False | | Reserved-by-Protocol | True | +----------------------+----------------------------+ Table 1: "This host on this network"
因此0.0.0.0/8因此0.18.0.0没有有效的目标地址,因此内核返回EINVALID
尝试将其用作目标的套接字操作。
提示:您可能想使用RFC 1918您本地管理的网络的地址。