新聞中心
網(wǎng)絡(luò)安全是當(dāng)今互聯(lián)網(wǎng)時代中的一大熱點問題,隨著網(wǎng)絡(luò)攻擊手段的不斷升級,網(wǎng)絡(luò)防御也變得越來越重要。作為網(wǎng)絡(luò)安全的基礎(chǔ),端口掃描技術(shù)被廣泛應(yīng)用于入侵檢測、網(wǎng)絡(luò)漏洞掃描等領(lǐng)域。在Linux系統(tǒng)上,一款開源的端口掃描工具nmap幾乎已成為網(wǎng)絡(luò)安全工作中不可或缺的利器。

一、nmap基本介紹
nmap是一款開源的網(wǎng)絡(luò)管理、探測和安全審核工具,可運行在Linux、Windows、macOS、FreeBSD等多個操作系統(tǒng)上,主要作用是幫助用戶在網(wǎng)絡(luò)上掃描和發(fā)現(xiàn)開放的端口及其運行的服務(wù),以便進行網(wǎng)絡(luò)和系統(tǒng)安全評估。
nmap功能豐富,支持多種掃描方式,包括TCP SYN掃描、TCP Connect掃描、UDP掃描、IP協(xié)議掃描等等。同時,還支持多種高效的探測技術(shù),如服務(wù)識別、操作系統(tǒng)識別、版本識別等。此外,nmap還支持多種輸出格式,方便用戶對掃描結(jié)果進行存檔和分析。因此,它成為滲透測試、漏洞檢測和網(wǎng)絡(luò)監(jiān)控等領(lǐng)域中的首選工具。
二、使用nmap進行TCP端口掃描
一般來說,TCP連接掃描是最常用的端口掃描方式。它的原理是通過向目標(biāo)主機指定的端口發(fā)送TCP SYN包,通過客戶端和服務(wù)器之間發(fā)送的TCP握手過程,判斷端口是否開放。
下面,我們以掃描端口80為例,介紹如何使用nmap進行TCP端口掃描。
1、命令格式
nmap的命令格式如下:
nmap [掃描選項] 目標(biāo)主機
其中掃描選項可以選擇,比如“-sS”表示TCP SYN掃描,“-oN”表示將掃描結(jié)果輸出為普通文本文件。
2、掃描端口
為了掃描端口80,我們可以在終端輸入以下命令:
nmap -sS -O 192.168.0.1
其中,“-sS”表示進行TCP SYN掃描,“-O”表示開啟操作系統(tǒng)識別功能,將掃描結(jié)果輸出為操作系統(tǒng)信息。
執(zhí)行命令后,終端會輸出掃描結(jié)果,其中包含目標(biāo)主機的IP地址、掃描后存活的主機、開放的端口以及運行的服務(wù)。如下圖所示:
3、輸出結(jié)果
在執(zhí)行掃描完成后,我們需要對掃描結(jié)果進行分析。這時候,nmap提供多種輸出格式供選擇,包括標(biāo)準(zhǔn)文本格式、XML格式、腳本格式等等。我們可以根據(jù)需要選擇相應(yīng)的輸出格式,如下所示:
輸出為標(biāo)準(zhǔn)文本格式:
nmap -sS -O -oN scanresult.txt 192.168.0.1
輸出為XML格式:
nmap -sS -O -oX scanresult.xml 192.168.0.1
輸出為腳本格式:
nmap -sS -O -oX myscript.nse 192.168.0.1
到此,我們介紹了如何使用nmap在Linux上進行TCP端口掃描,但僅僅是其中的一種應(yīng)用場景。在實際的安全檢測、滲透測試和漏洞分析過程中,nmap還有很多高級掃描技術(shù)和監(jiān)控能力,可以幫助用戶更好地維護網(wǎng)絡(luò)安全,對于中小型企業(yè)或個人用戶來說,nmap是一款值得推薦的優(yōu)秀端口掃描工具。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站制作,設(shè)計師量身打造品牌風(fēng)格,熱線:028-86922220滲透測試之端口掃描
端口掃描:端口對應(yīng)網(wǎng)絡(luò)服務(wù)及應(yīng)用端程序
服務(wù)端程序的漏洞通過端口攻入
發(fā)現(xiàn)開放的端口
更具體的攻擊面
UDP端口掃描:
如果收到ICMP端口不可達,表示端口關(guān)閉
如果沒有收到回包,則證明端口是開放的
和三層掃描IP剛好相反
Scapy端口開發(fā)掃描
命令:sr1(IP(dst=”192.168.45.129″)/UDP(dport=53),timeout=1,verbose=1)
nmap -sU 192.168.45.129
TCP掃描:基于連接的協(xié)議
三次握手:基于正常的枝敗三次握手發(fā)現(xiàn)目標(biāo)是否在線
隱蔽掃描:發(fā)送不完整的數(shù)據(jù)包,不建立完整的連接,如ACK包,SYN包,不會在應(yīng)用層訪問,
僵尸掃描:不和目標(biāo)系統(tǒng)產(chǎn)生交互,極為隱蔽
全連接掃描:建立完整的三次握手
所有的TCP掃描方式都是基于三次握手的變化來判斷目標(biāo)系統(tǒng)端口狀態(tài)
隱蔽掃描:發(fā)送SYN數(shù)據(jù)包,如果收到對方發(fā)來的ACK數(shù)據(jù)包,證明其在線,不與其建立完整的三次握手連接,在應(yīng)用層日志內(nèi)不記錄掃描行為,十分隱蔽,網(wǎng)絡(luò)層審計會被發(fā)現(xiàn)跡象
僵尸掃描:是一種極其隱蔽的掃描方式,實施條件苛刻,對于掃描發(fā)起方和被掃描方之間,必須猛信顫是需要實現(xiàn)地址偽造,必須是僵尸機(指的是閑置系統(tǒng),并且系統(tǒng)使用遞增的IPID)早期的win xp,win 2023都是遞增的IPID,如今的LINUX,WINDOWS都是隨機產(chǎn)生的IPID
1,掃描者向僵尸機發(fā)送SYN+ACY,僵尸機判斷未進行三次握手,所以返回RST包,在RST數(shù)據(jù)包內(nèi)有一個IPID,值記為X,那么掃描者就會知道被掃描者的IPID
2,掃描者向目標(biāo)服務(wù)器發(fā)送SYN數(shù)據(jù)包,并且偽裝源地址為僵坦棗尸機,如果目標(biāo)服務(wù)器端口開放,那么就會向僵尸機發(fā)送SYN+ACK數(shù)據(jù)包,那么僵尸機也會發(fā)送RST數(shù)據(jù)包,那么其IPID就是X+1(因為僵尸機足夠空閑,這個就為其收到的第二個數(shù)據(jù)包)
3,掃描者再向僵尸機發(fā)送SYN+ACK,那么僵尸機再次發(fā)送RST數(shù)據(jù)包,IPID為X+2,如果掃描者收到僵尸機的IPID為X+2,那么就可以判斷目標(biāo)服務(wù)器端口開放
使用scapy發(fā)送數(shù)據(jù)包:首先開啟三臺虛擬機,
kali虛擬機:192.168.45.128
Linux虛擬機:192.168.45.129
windows虛擬機:192.168.45.132
發(fā)送SYN數(shù)據(jù)包:
通過抓包可以查看kali給linux發(fā)送syn數(shù)據(jù)包
linux虛擬機返回Kali虛擬機SYN+ACK數(shù)據(jù)包
kali系統(tǒng)并不知道使用者發(fā)送了SYN包,而其莫名其妙收到了SYN+ACK數(shù)據(jù)包,便會發(fā)RST包斷開連接
也可以使用下列該命令查看收到的數(shù)據(jù)包的信息,收到對方相應(yīng)的SYN+ACK數(shù)據(jù)包,scapy默認從本機的80端口往目標(biāo)系統(tǒng)的20號端口發(fā)送,當(dāng)然也可以修改
如果向目標(biāo)系統(tǒng)發(fā)送一個 隨機端口:
通過抓包的獲得:1,kali向linux發(fā)送SYN數(shù)據(jù)包,目標(biāo)端口23456,
2,Linux系統(tǒng)由自己的23456端口向kali系統(tǒng)的20號端口返回RST+ACK數(shù)據(jù)包,表示系統(tǒng)端口未開放會話結(jié)束
使用python腳本去進行scapy掃描
nmap做隱蔽端口掃描:
nmap -sS 192.168.45.129 -p 80,21,110,443 #掃描固定的端口
nmap -sS 192.168.45.129 -popen #掃描該IP地址下端口掃描,并只顯示開放的端口
nmap -sS 192.168.45.129 -p –open #參數(shù)–open表示只顯示開放的端口
nmap -sS -iL iplist.txt -p 80
由抓包可知,nmap默認使用-sS掃描,發(fā)送SYN數(shù)據(jù)包,即nmap=nmap -sS
hping3做隱蔽端口掃描:
hping3 192.168.45.129 –scan 80 -S #參數(shù)–scan后面接單個端口或者多個端口.-S表示進行SYN掃描
hping3 192.168.45.129 –scan 80,21,25,443 -S
hping3 192.168.45.129 –scanS
由抓包可得:
hping3 -cS –spoof 192.168.45.200 -p ++1 192.168.45.129
參數(shù)-c表示發(fā)送數(shù)據(jù)包的數(shù)量
參數(shù)-S表示發(fā)送SYN數(shù)據(jù)包
–spoof:偽造源地址,后面接偽造的地址,
參數(shù)-p表示掃描的端口,++1表示每次端口號加1,那么就是發(fā)送SYN從端口1到端口100
最后面跟的是目標(biāo)IP
通過抓包可以得知地址已偽造,但對于linux系統(tǒng)(192.168.45.129)來說,它收到了192.168.45.200的SYN數(shù)據(jù)包,那么就會給192.168.45.200回復(fù)SYN+ACK數(shù)據(jù)包,但該地址卻是kali偽造的地址,那么要查看目標(biāo)系統(tǒng)哪些端口開放,必須登陸地址為kali偽造的地址即(192.168.45.200)進行抓包
hping3和nmap掃描端口的區(qū)別:1,hping3結(jié)果清晰明了
,nmap首先對IP進行DNS反向解析,如果沒成功,那么便會對其端口發(fā)送數(shù)據(jù)包,默認發(fā)送SYN數(shù)據(jù)包
hping3直接向目標(biāo)系統(tǒng)的端口發(fā)送SYN數(shù)據(jù)包,并不進行DNS反向解析
全連接端口掃描:如果單獨發(fā)送SYN數(shù)據(jù)包被被過濾,那么就使用全連接端口掃描,與目標(biāo)建立三次握手連接,結(jié)果是最準(zhǔn)確的,但容易被入侵檢測系統(tǒng)發(fā)現(xiàn)
response=sr1(IP(dst=”192.168.45.129″)/TCP(dport=80,flags=”S”))
reply=sr1(IP(dst=”192.168.45.129″)/TCP(dport=80,flags=”A”,ack=(response.seq+1)))
抓包情況:首先kali向Linux發(fā)送SYN,Linux回復(fù)SYN+ACK給kali,但kali的系統(tǒng)內(nèi)核不清楚kali曾給linux發(fā)送給SYN數(shù)據(jù)包,那么kali內(nèi)核莫名其妙收到SYN+ACK包,那么便會返回RST請求斷開數(shù)據(jù)包給Linux,三次握手中斷,如今kali再給Linux發(fā)ACK確認數(shù)據(jù)包,Linux莫名其妙收到了ACK數(shù)據(jù)包,當(dāng)然也會返回RST請求斷開數(shù)據(jù)包,具體抓包如下:
那么只要kali內(nèi)核在收到SYN+ACK數(shù)據(jù)包之后,不發(fā)RST數(shù)據(jù)包,那么就可以建立完整的TCP三次握手,判斷目標(biāo)主機端口是否開放
因為iptables存在于Linux內(nèi)核中,通過iptables禁用內(nèi)核發(fā)送RST數(shù)據(jù)包,那么就可以實現(xiàn)
使用nmap進行全連接端口掃描:(如果不指定端口,那么nmap默認會掃描1000個常用的端口,并不是1-1000號端口)
使用dmitry進行全連接端口掃描:
dmitry:功能簡單,但功能簡便
默認掃描150個最常用的端口
dmitry -p 192.168.45.129 #參數(shù)-p表示執(zhí)行TCP端口掃描
dmitry -p 192.168.45.129 -o output #參數(shù)-o表示把結(jié)果保存到一個文本文檔中去
使用nc進行全連接端口掃描:
nc -nv -w 1 -z 192.168.45.:表示掃描1-100號端口
參數(shù)-n表示不對Ip地址進行域名解析,只把其當(dāng)IP來處理
參數(shù)-v表示顯示詳細信息
參數(shù)-w表示超時時間
關(guān)于nmap linux 掃描端口的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技公司主營:網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、小程序制作、成都軟件開發(fā)、網(wǎng)頁設(shè)計、微信開發(fā)、成都小程序開發(fā)、網(wǎng)站制作、網(wǎng)站開發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊、網(wǎng)頁、VI設(shè)計,網(wǎng)站、軟件、微信、小程序開發(fā)于一體。
本文名稱:利用nmap在Linux上進行端口掃描(nmaplinux掃描端口)
網(wǎng)站網(wǎng)址:http://fisionsoft.com.cn/article/ccsggcp.html


咨詢
建站咨詢
