在 Linux 环境下,我用了这款端口扫描工具~
為了保護計算機不受攻擊和各種病毒、木馬的侵擾,其實我們可以在網絡設備上采取措施,對某些數據包進行阻擋、過濾等,但重要的還是用戶需要有一定的意識,采取措施對自己的計算機進行保護安全;
那么,今天杰哥主要想跟大家分享的是在 Linux 操作系統下除了使用 netstat、natcat、lsof 命令來查看本機的狀態以外,還有什么方式來查看呢?
什么是網絡端口?
網絡端口:可以認為是傳輸層協議 TCP 或 UDP 與各種應用層協議進行通信時的一種通道。TCP 和 UDP 協議的數據報文頭部都用一個 16 位的域來存放目的端口號和源端口號,最大是:65535。
網絡端口兩種使用方法
由某個程序監聽某個端口,等待戶機發送數據包到這個端口,一旦有數據產生,應用程序將會做出反應;
通過某個端口主動發送數據包到其他計算機;
netstat、netcat、lsof 查看端口狀態示例
netstat
命令格式:netstat [ - 選項 1 ]?[ - 選項 2 ] ...
常用參數:
-l:顯示正在監聽的 TCP 和 UDP 端口;
-a:顯示所有活動的 TCP 連接;
-A <網絡類型>或 - <網絡類型>列出該網絡類型連線中的相關地址;
-n:以數字的形式表示地址和端口號;
-s:顯示所有協議的統計信息;
-r:顯示 IP 路由表的內容;
-p:顯示每一個正在使用的活動連接程序識別碼及程序名稱;
-i:顯示網絡接口的統計信息;
-t:只顯示與 TCP 協議有關的連接和端口監聽狀態;
-u:只顯示與 UDP 協議有關的端口監聽狀態;
-w:只顯示原始接口狀態;
netcat
nc -vv IP 端口號:意思是只顯示該 IP 地址的某端口是否處于正常狀態(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以上幾種方式,雖是一種實現方法,接下來就是今天我所要跟大家所分享的 NMAP 端口掃描工具~
NMAP 介紹
NMAP 是一款免費開源的網絡掃描和主機監測工具,主要用于掃描一組主機的網絡端口以及所有服務器間程序都要通過網絡端口對外提供服務。比如一些常見的端口號:21(FTP服務)、22(SSH連接)、80(HTTP服務)等等,那么我們通過這些服務器開放的端口可以得到很多信息。
NMAP 也是一種常用的網絡安全工具,黑客在攻擊前,一般會使用這類工具搜索攻擊目標、搜索目標主機的網絡端口信息,從而來采取其他手段進行攻擊。
那么,我們也可以通過這類工具對網絡的安全性能進行檢測,以防攻擊。
官網地址:https://nmap.org/
NMAP 功能特點
靈活
功能強大
便捷式
簡單
免費開源
NMAP 命令格式
nmap?[?掃描類型?]??[?掃描選項?]??<目標>
NMAP 參數基本操作
nmap 127.0.0.1 不加任何參數將以默認的方式掃描 127.0.0.1 主機的開放端口和服務名稱。
[root@localhost ~]# nmap 127.0.0.1Starting 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 ippNmap done: 1 IP address (1 host up) scanned in 0.08 seconds使用 -sT 參數嘗試同目標主機的每個 TCP 端口建立連接、觀察有哪些端口處于開放狀態以及所運行的有哪些服務;
例如:掃描 GitHub 網站,看看存在哪些開放的端口。
[root@localhost ~]# nmap -sT www.github.comStarting 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 gitNmap done: 1 IP address (1 host up) scanned in 70.72 seconds掃描指定的 IP?,看看存在哪些開放的端口。
[root@localhost ~]# nmap -sT 220.181.38.150Starting 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 httpsNmap 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.comStarting 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: WindowsOS 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.150Starting 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: WindowsOS 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 包,然后根據對方不同的回應來判斷該端口是否處于監聽狀態。
-sA 參數是 TCP ACK 掃描,只用來確定防火墻的規則集,本身并不掃描目標主機的端口。
-sW 參數類似于 TCP ACK 掃描,可以檢測到處于打開狀態的端口。
-PN 參數是強制 nmap 對這類主機進行掃描。
除上述參數之外,還有一些不常用的參數。
例如:
-sF:向目標發送 TCP FIN 包,根據目標的響應進行判斷;
-sX:向目標發送 TCP NULL 包,根據目標的響應進行判斷;
-sN:向目標發送 FIN、PSH、URG 的包,根據目標的響應進行判斷;
-sR:用于確認是否是 RPC 端口;
-sU:確認哪些是 UDP 端口處于開放的;
-sP:向目標發送 TCP ACK 的包,如果有響應,則表明目標處于活動狀態;
作者:JackTian?
公眾號:杰哥的IT之旅
- End -
由于微信平臺算法改版,公號內容將不再以時間排序展示,如果大家想第一時間看到我們的推送,強烈建議星標我們和給我們多點點【在看】。星標具體步驟為:
總結
以上是生活随笔為你收集整理的在 Linux 环境下,我用了这款端口扫描工具~的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 肝!分享这3个京东实战项目!(知识图谱拿
- 下一篇: 再见!妈妈再也不用担心我的计算机基础!