端口掃描工具 NMAP,yyds!

這是我參與更文挑戰的第 30 天,活動詳情查看:更文挑戰git


一名致力於在技術道路上的終身學習者、實踐者、分享者,一位忙起來又偶爾偷懶的原創博主,一個偶爾無聊又偶爾幽默的少年。github

歡迎各位掘友們微信搜索「傑哥的IT之旅」關注!安全

原文連接:在 Linux 環境下,我用了這款端口掃描工具~服務器

前言

爲了保護計算機不受攻擊和各類病毒、木馬的侵擾,其實咱們能夠在網絡設備上採起措施,對某些數據包進行阻擋、過濾等,但重要的仍是用戶須要有必定的意識,採起措施對本身的計算機進行保護安全;微信

那麼,今天主要想跟你們分享的是在 Linux 操做系統下除了使用 netstat、natcat、lsof 命令來查看本機的狀態之外,還有什麼方式來查看呢?markdown

1、什麼是網絡端口?

網絡端口:能夠認爲是傳輸層協議 TCP 或 UDP 與各類應用層協議進行通訊時的一種通道。TCP 和 UDP 協議的數據報文頭部都用一個 16 位的域來存放目的端口號和源端口號,最大是:65535。網絡

2、網絡端口兩種使用方法

  • 由某個程序監聽某個端口,等待戶機發送數據包到這個端口,一旦有數據產生,應用程序將會作出反應;
  • 經過某個端口主動發送數據包到其餘計算機;

3、netstat、netcat、lsof 查看端口狀態示例

netstat

命令格式:netstat [ - 選項 1 ] [ - 選項 2 ] ...ssh

經常使用參數:tcp

  • -l:顯示正在監聽的 TCP 和 UDP 端口;
  • -a:顯示全部活動的 TCP 鏈接;
  • -A <網絡類型>或 - <網絡類型>列出該網絡類型連線中的相關地址;
  • -n:以數字的形式表示地址和端口號;
  • -s:顯示全部協議的統計信息;
  • -r:顯示 IP 路由表的內容;
  • -p:顯示每個正在使用的活動鏈接程序識別碼及程序名稱;
  • -i:顯示網絡接口的統計信息;
  • -t:只顯示與 TCP 協議有關的鏈接和端口監聽狀態;
  • -u:只顯示與 UDP 協議有關的端口監聽狀態;
  • -w:只顯示原始接口狀態;
[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/cupsd
複製代碼

netcat

nc -vv IP 端口號:意思是隻顯示該 IP 地址的某端口是否處於正常狀態(succeeded:成功,Connection refused:鏈接拒絕)ide

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 refused
複製代碼

lsof

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
複製代碼

以上幾種方式,雖是一種實現方法,接下來就是今天我所要跟你們所分享的 NMAP 端口掃描工具~

圖片

4、NMAP 介紹

NMAP 是一款免費開源的網絡掃描和主機監測工具,主要用於掃描一組主機的網絡端口以及全部服務器間程序都要經過網絡端口對外提供服務。好比一些常見的端口號:21(FTP服務)、22(SSH鏈接)、80(HTTP服務)等等,那麼咱們經過這些服務器開放的端口能夠獲得不少信息。

NMAP 也是一種經常使用的網絡安全工具,黑客在攻擊前,通常會使用這類工具搜索攻擊目標、搜索目標主機的網絡端口信息,從而來採起其餘手段進行攻擊。

那麼,咱們也能夠經過這類工具對網絡的安全性能進行檢測,以防攻擊。

圖片

官網地址:nmap.org/

5、NMAP 功能特色

  • 靈活
  • 功能強大
  • 便捷式
  • 簡單
  • 免費開源

圖片

6、NMAP 命令格式

nmap [ 掃描類型 ]  [ 掃描選項 ]  <目標>

7、NMAP 參數基本操做

nmap 127.0.0.1 不加任何參數將以默認的方式掃描 127.0.0.1 主機的開放端口和服務名稱。

[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 參數嘗試同目標主機的每一個 TCP 端口創建鏈接、觀察有哪些端口處於開放狀態以及所運行的有哪些服務;

例如:掃描 GitHub 網站,看看存在哪些開放的端口。

[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 參數:探測主機操做系統;
  • -sV 參數:探測端口上運行的軟件;

經過上述兩項參數,結合在一塊兒,掃描 baidu 網站主機操做系統和掃描出的端口上運行着什麼軟件?

掃描後,咱們能夠看出端口號爲: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 的方式來進行掃描指定主機的操做系統和端口上所運行的軟件;

[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 參數:經過向目標的某一個端口發送 TCP SYN 包,而後根據對方不一樣的迴應來判斷該端口是否處於監聽狀態。
[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 參數是 TCP ACK 掃描,只用來肯定防火牆的規則集,自己並不掃描目標主機的端口。
[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 參數相似於 TCP ACK 掃描,能夠檢測處處於打開狀態的端口。
[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 參數是強制 nmap 對這類主機進行掃描。
[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
複製代碼

除上述參數以外,還有一些不經常使用的參數。

例如:

  • -sF:向目標發送 TCP FIN 包,根據目標的響應進行判斷;
[root@localhost ~]# nmap -sF www.newrank.cn
複製代碼
  • -sX:向目標發送 TCP NULL 包,根據目標的響應進行判斷;
[root@localhost ~]# nmap -sX www.newrank.cn
複製代碼
  • -sN:向目標發送 FIN、PSH、URG 的包,根據目標的響應進行判斷;
[root@localhost ~]# nmap -sN www.newrank.cn
複製代碼
  • -sR:用於確認是不是 RPC 端口;
[root@localhost ~]# nmap -sR www.newrank.cn
複製代碼
  • -sU:確認哪些是 UDP 端口處於開放的;
[root@localhost ~]# nmap -sU www.newrank.cn
複製代碼
  • -sP:向目標發送 TCP ACK 的包,若是有響應,則代表目標處於活動狀態;
[root@localhost ~]# nmap -sP www.newrank.cn
複製代碼

原創不易,若是你以爲這篇文章對你有點用的話,麻煩你爲本文點個贊、評論或轉發一下,由於這將是我輸出更多優質文章的動力,感謝!

對了,掘友們記得給我點個免費的關注喲!防止你迷路下次就找不到我了。

咱們下期再見!

相關文章
相關標籤/搜索