作者:袁首京
原創文章,轉載時請保留此宣告,并給出原文連接,
如果您是計算機相關從業人員,那么應該經歷不止一次網路安全專項檢查了,你肯定是收到過資訊系統技術檢測報告,要求你加強風險監測,確保你提供的系統服務堅實可靠了,
沒檢測到問題還好,檢測到問題的話,有些處理起來還是挺麻煩的,尤其是線上正在運行的系統,所以,如果能在正式上線部署前,自檢一番,把能處理的問題處理掉,可能會省掉一些麻煩,
怎么自檢呢?方案很多,這里介紹其中的一種,就是 nmap
,你可能聽說過,沒有的話,先記住它是一種網路映射工具,被系統管理員、網路工程師甚至黑客廣泛用于主機發現、埠規則、系統檢測、漏洞掃描等,
本文就是和您一起看幾個 nmap
命令的實際用例,
?? 本文中的大多數示例,都將使用
nmap
本身提供的目標:scanme.nmap.org,
安裝
多數 Linux 發行版上,可能預裝了,不確定的話,可以輸入如下命令檢測一下:
nmap -v
類似如下輸出,說明是已經裝好了的,
Starting Nmap 7.80 ( https://nmap.org ) ...
Read data files from: /usr/bin/../share/nmap
WARNING: No targets were specified, so 0 hosts scanned.
Nmap done: 0 IP addresses (0 hosts up) scanned in 0.02 seconds
否則的話,可以使用作業系統對應的方式安裝它,例如對于 Debian/Ubuntu,使用:
sudo apt install nmap
對于 RHEL/Fedora base:
sudo dnf install nmap
對于基于 Arch 的發行版:
sudo pacman -S nmap
對于 Windows,如果你使用 Scoop
的話,也很簡單:
scoop install nmap
安裝完成后,可以開始我們的實驗,
掃描開放埠
命令格式如下:
nmap Target
其中 Target 是要掃描的目標 IP 或域名,如果想快速掃描,可以加上 -F
引數:
nmap -F Target
如下是示例:
nmap -F scanme.nmap.org
...
Not shown: 98 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 8.52 seconds
可以看到 22
和 80
埠是開放的,
掃描多個主機
如果想一次掃描多個主機,有幾種方法:
- 命令后直接追加多個域名或 IP
- 使用通配符一次搜索整個子網
- 指定 IP 地址范圍
- 指定 IP 地址的不同結尾
例如,一次掃描 3 個 IP:
nmap 192.168.1.9 192.168.1.8 192.168.1.10
掃描整個網段
nmap 192.168.1.*
掃描從 192.168.1.8 到 192.168.1.10 的 IP:
nmap 192.168.1.8-10
另一種掃描從 192.168.1.8 到 192.168.1.10 的方式:
nmap 192.168.1.8,9,10
掃描某個網段,但排除其中之一:
nmap 192.168.1.* --exclude 192.168.1.6
192.168.1.6 這臺主機將不會被掃描,
防火墻檢測
可以使用 nmap 命令發送 ACK 資料包,以檢查目標系統是否啟用了防火墻:
sudo nmap -sA scanme.nmap.org
注意 sudo
,這條命令需要 root 權限,輸出如下:
...
Not shown: 995 unfiltered ports
PORT STATE SERVICE
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
593/tcp filtered http-rpc-epmap
4444/tcp filtered krb524
Nmap done: 1 IP address (1 host up) scanned in 32.48 seconds
獲取主機服務資訊
掃描埠后了解服務后,您可能希望了解有關這些服務的更多資訊,可以使用標志:sV
nmap -sV scanme.nmap.org
...
Not shown: 991 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
593/tcp filtered http-rpc-epmap
4444/tcp filtered krb524
9929/tcp open nping-echo Nping echo
31337/tcp open tcpwrapped
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 23.71 seconds
掃描特定埠
指定埠,需要使用 -p
引數:
nmap -p 443 scanme.nmap.org
nmap -p 443,80 scanme.nmap.org
nmap -p 20-80 scanme.nmap.org
如下是真實的掃描示例:
nmap -p 443 scanme.nmap.org
...
PORT STATE SERVICE
443/tcp closed https
Nmap done: 1 IP address (1 host up) scanned in 0.54 seconds
隱身模式掃描
壞人喜歡的模式,對不對?使用引數 -sS
,需要 root 權限:
sudo nmap -sS Target
沒有示例,
獲取系統資訊
要獲取作業系統資訊,需要在掃描時使用引數 -A
:
nmap -A scanme.nmap.org
...
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 1024 ac:00:a0:1a:82:ff:cc:55:99:dc:67:2b:34:97:6b:75 (DSA)
| 2048 20:3d:2d:44:62:2a:b0:5a:9d:b5:b3:05:14:c2:a6:b2 (RSA)
| 256 96:02:bb:5e:57:54:1c:4e:45:2f:56:4c:4a:24:b2:57 (ECDSA)
|_ 256 33:fa:91:0f:e0:e1:7b:1f:6d:05:a2:b0:f1:54:41:56 (ED25519)
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Go ahead and ScanMe!
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
593/tcp filtered http-rpc-epmap
4444/tcp filtered krb524
9929/tcp open nping-echo Nping echo
31337/tcp open tcpwrapped
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 29.91 seconds
查找活動主機
通常用 ping,但 nmap 命令也可以,比如:
nmap -sP 192.168.1.0/24
獲取本機和路由
通常用 ip addr
和 ip route
,但 nmap 也可以:
nmap --iflist
...
************************INTERFACES************************
DEV (SHORT) IP/MASK TYPE UP MTU MAC
eth0 (eth0) 169.254.38.224/16 other down 1500
eth0 (eth0) fe80::a185:605b:4962:26e0/64 other down 1500
lo (lo) 127.0.0.1/8 loopback up 1500
lo (lo) ::1/128 loopback up 1500
wifi0 (wifi0) fe80::35e9:f194:3704:3178/64 ethernet up 1500 64:79:F0:2A:28:E4
wifi1 (wifi1) 169.254.113.12/16 other down 1500
wifi1 (wifi1) fe80::f520:4762:ad46:710c/64 other down 1500
wifi2 (wifi2) 169.254.103.91/16 other down 1500
wifi2 (wifi2) fe80::d14:5bb0:9a34:675b/64 other down 1500
**************************ROUTES**************************
DST/MASK DEV METRIC GATEWAY
0.0.0.0/32 wifi0 0 192.168.99.1
127.0.0.1/32 lo 256
127.255.255.255/32 lo 256
255.255.255.255/32 lo 256
255.255.255.255/32 wifi0 256
127.0.0.0/8 lo 256
224.0.0.0/4 lo 256
224.0.0.0/4 wifi0 256
::1/128 lo 256
fe80::35e9:f194:3704:3178/128 wifi0 256
fe80::/64 wifi0 256
ff00::/8 lo 256
ff00::/8 wifi0 256
玩法還有很多,不一一列舉了,你有空的話,自己發掘發掘吧,
作者:袁首京原創文章,轉載時請保留此宣告,并給出原文連接,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/549203.html
標籤:其他