在 Linux 環(huán)境下,我用了這款端口掃描工具~

為了保護(hù)計算機(jī)不受攻擊和各種病毒、木馬的侵?jǐn)_,其實我們可以在網(wǎng)絡(luò)設(shè)備上采取措施,對某些數(shù)據(jù)包進(jìn)行阻擋、過濾等,但重要的還是用戶需要有一定的意識,采取措施對自己的計算機(jī)進(jìn)行保護(hù)安全;
那么,今天杰哥主要想跟大家分享的是在 Linux 操作系統(tǒng)下除了使用 netstat、natcat、lsof 命令來查看本機(jī)的狀態(tài)以外,還有什么方式來查看呢?
什么是網(wǎng)絡(luò)端口?
網(wǎng)絡(luò)端口:可以認(rèn)為是傳輸層協(xié)議 TCP 或 UDP 與各種應(yīng)用層協(xié)議進(jìn)行通信時的一種通道。TCP 和 UDP 協(xié)議的數(shù)據(jù)報文頭部都用一個 16 位的域來存放目的端口號和源端口號,最大是:65535。
網(wǎng)絡(luò)端口兩種使用方法
由某個程序監(jiān)聽某個端口,等待戶機(jī)發(fā)送數(shù)據(jù)包到這個端口,一旦有數(shù)據(jù)產(chǎn)生,應(yīng)用程序?qū)龀龇磻?yīng);
通過某個端口主動發(fā)送數(shù)據(jù)包到其他計算機(jī);
netstat、netcat、lsof 查看端口狀態(tài)示例
netstat
命令格式:netstat [ - 選項 1 ]?[ - 選項 2 ] ...
常用參數(shù):
-l:顯示正在監(jiān)聽的 TCP 和 UDP 端口;
-a:顯示所有活動的 TCP 連接;
-A <網(wǎng)絡(luò)類型>或 - <網(wǎng)絡(luò)類型>列出該網(wǎng)絡(luò)類型連線中的相關(guān)地址;
-n:以數(shù)字的形式表示地址和端口號;
-s:顯示所有協(xié)議的統(tǒng)計信息;
-r:顯示 IP 路由表的內(nèi)容;
-p:顯示每一個正在使用的活動連接程序識別碼及程序名稱;
-i:顯示網(wǎng)絡(luò)接口的統(tǒng)計信息;
-t:只顯示與 TCP 協(xié)議有關(guān)的連接和端口監(jiān)聽狀態(tài);
-u:只顯示與 UDP 協(xié)議有關(guān)的端口監(jiān)聽狀態(tài);
-w:只顯示原始接口狀態(tài);
[root@localhost ~]# netstat -anpt | grep 631
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1218/cupsd
tcp 0 0 ::1:631 :::* LISTEN 1218/cupsdnetcat
nc -vv IP 端口號:意思是只顯示該 IP 地址的某端口是否處于正常狀態(tài)(succeeded:成功,Connection refused:連接拒絕)
nc -z IP 端口號; echo $?:意思是判斷該 IP 地址的某端口是否有誤(0:無誤,1:有誤)
[root@localhost ~]# nc -vv 192.168.1.127 22
Connection to 192.168.1.127 22 port [tcp/ssh] succeeded!
SSH-2.0-OpenSSH_5.3
[root@localhost ~]# nc -z 192.168.1.127 22; echo $?
Connection to 192.168.1.127 22 port [tcp/ssh] succeeded!
0
[root@localhost ~]# nc -vv 192.168.1.127 3306
nc: connect to 192.168.1.127 port 3306 (tcp) failed: Connection refusedlsof
lsof 查看端口占用語法格式:lsof -i :端口號
[root@localhost ~]# lsof -i:631
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
cupsd 1218 root 6u IPv6 12257 0t0 TCP localhost:ipp (LISTEN)
cupsd 1218 root 7u IPv4 12258 0t0 TCP localhost:ipp (LISTEN)
cupsd 1218 root 9u IPv4 12261 0t0 UDP *:ipp以上幾種方式,雖是一種實現(xiàn)方法,接下來就是今天我所要跟大家所分享的 NMAP 端口掃描工具~

NMAP 介紹
NMAP 是一款免費開源的網(wǎng)絡(luò)掃描和主機(jī)監(jiān)測工具,主要用于掃描一組主機(jī)的網(wǎng)絡(luò)端口以及所有服務(wù)器間程序都要通過網(wǎng)絡(luò)端口對外提供服務(wù)。比如一些常見的端口號:21(FTP服務(wù))、22(SSH連接)、80(HTTP服務(wù))等等,那么我們通過這些服務(wù)器開放的端口可以得到很多信息。
NMAP 也是一種常用的網(wǎng)絡(luò)安全工具,黑客在攻擊前,一般會使用這類工具搜索攻擊目標(biāo)、搜索目標(biāo)主機(jī)的網(wǎng)絡(luò)端口信息,從而來采取其他手段進(jìn)行攻擊。
那么,我們也可以通過這類工具對網(wǎng)絡(luò)的安全性能進(jìn)行檢測,以防攻擊。

官網(wǎng)地址:https://nmap.org/
NMAP 功能特點
靈活
功能強大
便捷式
簡單
免費開源

NMAP 命令格式
nmap?[?掃描類型?]??[?掃描選項?]??<目標(biāo)>
NMAP 參數(shù)基本操作
nmap 127.0.0.1 不加任何參數(shù)將以默認(rèn)的方式掃描 127.0.0.1 主機(jī)的開放端口和服務(wù)名稱。
[root@localhost ~]# nmap 127.0.0.1
Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:59 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000040s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
631/tcp open ipp
Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds使用 -sT 參數(shù)嘗試同目標(biāo)主機(jī)的每個 TCP 端口建立連接、觀察有哪些端口處于開放狀態(tài)以及所運行的有哪些服務(wù);
例如:掃描 GitHub 網(wǎng)站,看看存在哪些開放的端口。
[root@localhost ~]# nmap -sT www.github.com
Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:24 CST
Nmap scan report for www.github.com (52.74.223.119)
Host is up (0.15s latency).
rDNS record for 52.74.223.119: ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com
Not shown: 996 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
9418/tcp open git
Nmap done: 1 IP address (1 host up) scanned in 70.72 seconds掃描指定的 IP?,看看存在哪些開放的端口。
[root@localhost ~]# nmap -sT 220.181.38.150
Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:40 CST
Nmap scan report for 220.181.38.150
Host is up (0.0056s latency).
Not shown: 999 filtered ports
PORT STATE SERVICE
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 4.64 seconds-O 參數(shù):探測主機(jī)操作系統(tǒng);
-sV 參數(shù):探測端口上運行的軟件;
通過上述兩項參數(shù),結(jié)合在一起,掃描 baidu 網(wǎng)站主機(jī)操作系統(tǒng)和掃描出的端口上運行著什么軟件?
掃描后,我們可以看出端口號為:80 和 443 所運行著 Microsoft Windows UPnP(微軟視窗)的軟件;
[root@localhost ~]# sudo nmap -O -sV www.baidu.com
Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:32 CST
Nmap scan report for www.baidu.com (220.181.38.150)
Host is up (0.015s latency).
Other addresses for www.baidu.com (not scanned): 220.181.38.149
Not shown: 998 filtered ports
PORT STATE SERVICE VERSION
80/tcp open upnp Microsoft Windows UPnP
443/tcp open ssl/upnp Microsoft Windows UPnP
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: switch
Running: HP embedded
OS details: HP 4000M ProCurve switch (J4121A)
Service Info: OS: Windows
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 22.87 seconds通過上述掃描域名的方式以外,也可以采用 IP 的方式來進(jìn)行掃描指定主機(jī)的操作系統(tǒng)和端口上所運行的軟件;
[root@localhost ~]# sudo nmap -O -sV 220.181.38.150
Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:35 CST
Nmap scan report for 220.181.38.150
Host is up (0.015s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE VERSION
80/tcp open upnp Microsoft Windows UPnP
443/tcp open ssl/upnp Microsoft Windows UPnP
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: switch
Running (JUST GUESSING): HP embedded (86%)
Aggressive OS guesses: HP 4000M ProCurve switch (J4121A) (86%)
No exact OS matches for host (test conditions non-ideal).
Service Info: OS: Windows
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 21.82 seconds-sS 參數(shù):通過向目標(biāo)的某一個端口發(fā)送 TCP SYN 包,然后根據(jù)對方不同的回應(yīng)來判斷該端口是否處于監(jiān)聽狀態(tài)。
[root@localhost ~]# nmap -sS www.github.com
Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-28 05:03 CST
Nmap scan report for www.github.com (13.229.188.59)
Host is up (0.15s latency).
rDNS record for 13.229.188.59: ec2-13-229-188-59.ap-southeast-1.compute.amazonaws.com
Not shown: 996 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
9418/tcp open git
Nmap done: 1 IP address (1 host up) scanned in 32.39 seconds-sA 參數(shù)是 TCP ACK 掃描,只用來確定防火墻的規(guī)則集,本身并不掃描目標(biāo)主機(jī)的端口。
[root@localhost ~]# nmap -sA www.newrank.cn
Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-28 05:25 CST
Nmap scan report for www.newrank.cn (47.99.2.204)
Host is up (0.029s latency).
All 1000 scanned ports on www.newrank.cn (47.99.2.204) are filtered
Nmap done: 1 IP address (1 host up) scanned in 17.63 seconds-sW 參數(shù)類似于 TCP ACK 掃描,可以檢測到處于打開狀態(tài)的端口。
[root@localhost ~]# nmap -sW www.newrank.cn
Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-28 05:55 CST
Nmap scan report for www.newrank.cn (47.99.2.204)
Host is up (0.032s latency).
All 1000 scanned ports on www.newrank.cn (47.99.2.204) are filtered
Nmap done: 1 IP address (1 host up) scanned in 46.43 seconds-PN 參數(shù)是強制 nmap 對這類主機(jī)進(jìn)行掃描。
[root@localhost ~]# nmap -sT -PN 220.181.38.150
Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:41 CST
Nmap scan report for 220.181.38.150
Host is up (0.0053s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 4.00 seconds[root@localhost ~]# nmap -sT -PN -p1-5000 192.168.1.127
Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:51 CST
Nmap scan report for 192.168.1.127
Host is up (0.00058s latency).
Not shown: 4998 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
Nmap done: 1 IP address (1 host up) scanned in 0.25 seconds除上述參數(shù)之外,還有一些不常用的參數(shù)。
例如:
-sF:向目標(biāo)發(fā)送 TCP FIN 包,根據(jù)目標(biāo)的響應(yīng)進(jìn)行判斷;
[root@localhost ~]# nmap -sF www.newrank.cn-sX:向目標(biāo)發(fā)送 TCP NULL 包,根據(jù)目標(biāo)的響應(yīng)進(jìn)行判斷;
[root@localhost ~]# nmap -sX www.newrank.cn-sN:向目標(biāo)發(fā)送 FIN、PSH、URG 的包,根據(jù)目標(biāo)的響應(yīng)進(jìn)行判斷;
[root@localhost ~]# nmap -sN www.newrank.cn-sR:用于確認(rèn)是否是 RPC 端口;
[root@localhost ~]# nmap -sR www.newrank.cn-sU:確認(rèn)哪些是 UDP 端口處于開放的;
[root@localhost ~]# nmap -sU?www.newrank.cn-sP:向目標(biāo)發(fā)送 TCP ACK 的包,如果有響應(yīng),則表明目標(biāo)處于活動狀態(tài);
[root@localhost ~]# nmap -sP?www.newrank.cn作者:JackTian?
公眾號:杰哥的IT之旅
- End -
由于微信平臺算法改版,公號內(nèi)容將不再以時間排序展示,如果大家想第一時間看到我們的推送,強烈建議星標(biāo)我們和給我們多點點【在看】。星標(biāo)具體步驟為:
(1)點擊頁面最上方“小詹學(xué)Python”,進(jìn)入公眾號主頁。
(2)點擊右上角的小點點,在彈出頁面點擊“設(shè)為星標(biāo)”,就可以啦。
感謝支持,比心。
