場景一:了解系統(tǒng)開放的端口,和正在使用的端口,在各種情況下都會有所幫助。
成都創(chuàng)新互聯(lián)公司專注于莎車企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站開發(fā)。莎車網(wǎng)站建設(shè)公司,為莎車等地區(qū)提供建站服務(wù)。全流程定制設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
比如:如果你的服務(wù)器正在運行著 Nginx,那么其端口應(yīng)該為80或者443,可以檢查一下。再比如你可以檢查一下 SMTP、SSH或者其他服務(wù)用的是哪個端口。當有新的服務(wù)需要開放端口的時候,你需要知道目前已經(jīng)被占用的,都有哪些端口。
此外,可以檢查一下是否有開放的可用于入侵檢測的端口。
Linux 中有多種檢查端口的方法,本文將介紹兩種。
使用 lsof 檢查當前系統(tǒng)開放的端口
不管你是直接登錄的系統(tǒng),還是使用 ssh 連接的,都可以使用 lsof 命令來檢查端口:
該命令用于查找用戶使用的文件和進程。上述命令中的選項,包括:
但是,這也會展示許多計算機并沒有監(jiān)聽的其他端口。
我們可以通過管道將此輸出傳輸?shù)?grep,并匹配模式 “LISTEN”,如下所示:
這樣就只顯示計算機正在監(jiān)聽的,以及正在運行的服務(wù)器所占用的端口。
使用 netcat 命令檢查遠程服務(wù)器上的端口
nc(Netcat) 是一個命令行實用程序,使用TCP和UDP協(xié)議在網(wǎng)絡(luò)計算機之間讀取和寫入數(shù)據(jù)。
以下是nc命令的語法:
這個工具有一個很實用的 -z 選項,它會讓 nc 命令掃描正在監(jiān)聽的守護進程,但是不會向端口發(fā)送任何數(shù)據(jù)。
將其與 -v 選項結(jié)合,啟動詳細信息,會有詳細信息的輸出。
losf與nc的不同點:
lsof命令簡介
lsof 命令用于顯示 Linux 系統(tǒng)當前已打開的所有文件列表。查看進程或系統(tǒng)打開的文件會給調(diào)試帶來極大的幫助。下面簡單地介紹 lsof 常使用的功能。
lsof (list open files)命令用于查看你進程打開的文件,打開文件的進程,進程打開的端口(TCP、UDP),還可以用于找回/恢復(fù)被刪除的文件。lsof 命令需要訪問核心內(nèi)存和各種文件,所以需要具備 root 超級管理員權(quán)限的用戶才能執(zhí)行此命令。
linux的nc命令,NetCat,在網(wǎng)絡(luò)工具中有“瑞士軍刀”美譽“,是解決這個問題的工具。 nc命令安裝: yum install nc
以上是看來一些文章的總結(jié)分享內(nèi)容,歡迎補充討論。
nc [-hlnruz][-g網(wǎng)關(guān)...][-G指向器數(shù)目][-i延遲秒數(shù)][-o輸出文件][-p通信端口] [-s來源位址][-v...][-w超時秒數(shù)][主機名稱][通信端口...]
原文鏈接:
微信公眾號:入門小站
Linux中nc命令是一個功能強大的網(wǎng)絡(luò)工具,全稱是netcat。
語法:
nc
[-hlnruz][-g網(wǎng)關(guān)...][-G指向器數(shù)目][-i延遲秒數(shù)][-o輸出文件][-p通信端口][-s來源位址][-v...][-w超時秒數(shù)][主機名稱][通信端口...]
參數(shù)說明:
-g網(wǎng)關(guān)
設(shè)置路由器躍程通信網(wǎng)關(guān),最丟哦可設(shè)置8個。
-G指向器數(shù)目
設(shè)置來源路由指向器,其數(shù)值為4的倍數(shù)。
-h
在線幫助。
-i延遲秒數(shù)
設(shè)置時間間隔,以便傳送信息及掃描通信端口。
-l
使用監(jiān)聽模式,管控傳入的資料。
-n
直接使用IP地址,而不通過域名服務(wù)器。
-o輸出文件
指定文件名稱,把往來傳輸?shù)臄?shù)據(jù)以16進制字碼傾倒成該文件保存。
-p通信端口
設(shè)置本地主機使用的通信端口。
-r
亂數(shù)指定本地與遠端主機的通信端口。
-s來源位址
設(shè)置本地主機送出數(shù)據(jù)包的IP地址。
-u
使用UDP傳輸協(xié)議。
-v
顯示指令執(zhí)行過程。
-w超時秒數(shù)
設(shè)置等待連線的時間。
-z
使用0輸入/輸出模式,只在掃描通信端口時使用。
實例:
1、TCP端口掃描
#
nc
-v
-z
-w2
127.0.0.1
1-100
Connection
to
127.0.0.1
22
port
[tcp/ssh]
succeeded!
Connection
to
127.0.0.1
53
port
[tcp/domain]
succeeded!
Connection
to
127.0.0.1
80
port
[tcp/http]
succeeded!
...
nc:
connect
to
127.0.0.1
port
100
(tcp)
failed:
Connection
refused
2、從192.168.1.2拷貝文件到192.168.1.3
首先在接收端192.168.1.3上:
nc
-l
1234
test.txt
然后在發(fā)送端192.168.1.2上:
nc
192.168.1.3
test.txt
注意:先運行接收端,指定一個端口為1234,文件為test.txt,再執(zhí)行發(fā)送端,并且發(fā)送端必須存在同名的文件test.txt
3、傳輸目錄
從server1(192.168.16.233)拷貝nginx目錄內(nèi)容到server2(192.168.48.47)上。需要先在server2上,用nc激活監(jiān)聽,
server2上運行:#
nc
-l
1234
|
tar
xzv-
server1上運行:#
tar
czv-
nginx
|
nc
192.168.48.47
1234
4、簡單聊天工具
在192.168.1.2上:
nc
-l
1234
在192.168.1.3上:
nc
192.168.1.2
1234
這樣,雙方就可以相互交流了。使用ctrl+C(或D)退出
用yum進行安裝,若安裝舊版本的可能會有些命令參數(shù)無法正常使用
nc -z -v -n 192.168.137.2 1-100 掃描192.168.137.2地址1-100的端口號
可以運行在TCP或者UDP模式,默認是TCP,-u參數(shù)調(diào)整為udp
z 參數(shù)告訴netcat使用0 IO,連接成功后立即關(guān)閉連接,不進行數(shù)據(jù)交換
v 參數(shù)指使用冗余選項
n 參數(shù)告訴netcat不要使用DNS反向查詢IP地址的域名
nc -v 192.168.137.2 22
連接該地址開放的22端口,并且打印運行在這個端口上服務(wù)的banner信息
現(xiàn)有兩臺服務(wù)器:192.168.137.2和192.168.137.10,分別命名為A和B
使A和B可以互相聊天
A nc -n -l -u -p 1000
B nc -n -u 192.168.137.2 1000
-u參數(shù)調(diào)整為udp
-l 表示在服務(wù)器端啟用監(jiān)聽模式
-n? 不做域名解析
-p 指定監(jiān)聽的端口
這時A和B兩臺服務(wù)器便可在命令行進行聊天
使A和B之間相互傳輸單個文件
A nc -l 2000 file.txt 在A中開一個2000端口并進行監(jiān)聽,將寫入的內(nèi)容放到本地命名為file.txt
B nc 192.168.137.2 2000 file.txt 將B中file.txt傳送到Aip的2000端口
在A與B之間互傳文件夾
在A中/root/下創(chuàng)建ceshi目錄,并在ceshi下創(chuàng)建test.txt
A tar -cvf - ceshi |nc -l 1000
B nc 192.168.137.2 1000 |tar -xvf -
這時發(fā)現(xiàn)在B中已經(jīng)有了A傳送過去的ceshi目錄
=======================================================================
A:192.168.0.131(接收方) B:192.168.0.10(發(fā)送方)
本次打算用3333端口傳送數(shù)據(jù),在操作前先確保兩臺服務(wù)器的防火墻不會禁止3333端口
先在A上操作:進入要接收數(shù)據(jù)的目錄下
while true
do
nc -l 3333|tar -xvf -
done
這時在看該機器3333端口已打開
再去B上操作:進入要傳送的目錄下
tar -cvf - 文件/目錄名 |nc 192.168.0.131 3333
這時兩臺機器間便開始傳送數(shù)據(jù)
linux centos7 測試端口的連通性, 分別測試TCP端口與UDP端口
安裝nc命令
一、nc命令檢測端口的用法
1 這個需要Linux服務(wù)器里邊支持nc命令,檢查NC 是否安裝
2 安裝nc
3 探測端口
錯誤信息如下
百度了半天沒一個結(jié)果, google了一下就有結(jié)果了, 經(jīng)測試成功.
4 原因分析:
-z參數(shù)原為掃描目標port是否打開, TCP三次握手成功則ok
但CentOS7新版的nc命令已取消了-z, 需輸入重定向 /dev/null 才能成功
5 探測 udp: 通過 nc -h 可以看出,只需要加個 -u 即可。
更多高級應(yīng)用參考: