日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 关闭端口_手把手教你在Linux中快速检测端口的 3 个小技巧

發(fā)布時間:2025/3/15 linux 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 关闭端口_手把手教你在Linux中快速检测端口的 3 个小技巧 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一個執(zhí)著于技術(shù)的公眾號

前言

無論是要解決網(wǎng)絡(luò)連接問題還是配置防火墻,第一件事是要檢查系統(tǒng)實際打開了哪些端口。

本文介紹了幾種快速查找 Linux 系統(tǒng)上哪些端口向外部開放的方法。

什么是開放端口

監(jiān)聽端口是應(yīng)用程序監(jiān)聽的網(wǎng)絡(luò)端口。你要得到的監(jiān)聽端口名單通??梢酝ㄟ^如 ss、netstat 或 lsof 命令查詢系統(tǒng)上網(wǎng)絡(luò)堆棧。每個監(jiān)聽端口都可以使用防火墻打開或關(guān)閉(過濾)。

一般而言,開放端口是一個網(wǎng)絡(luò)端口,它接受來自遠程位置的傳入數(shù)據(jù)包。

例如:如果你正在運行的監(jiān)聽端口 80、443 的 Web 服務(wù)器,并把這些端口在防火墻上對任何人開放。使用瀏覽器將能夠訪問托管在 Web 服務(wù)器上的網(wǎng)站。在這種情況下,80 和 443 都是開放端口。

開放端口可能會帶來安全風險,因為攻擊者可以使用每個開放端口來利用漏洞或執(zhí)行任何其他類型的攻擊。您應(yīng)該只公開應(yīng)用程序功能所需的端口,然后關(guān)閉所有其他端口。

1 使用 Nmap 命令檢查開放端口

Nmap 是功能強大的網(wǎng)絡(luò)掃描工具,可以掃描單個主機和大型網(wǎng)絡(luò)。它主要用于安全審核和滲透測試。

Nmap 是端口掃描的首選工具。除端口掃描外,Nmap 還可以檢測 Mac 地址、操作系統(tǒng)類型、內(nèi)核版本等。

nmap工具系統(tǒng)默認沒有安裝,可通過yum install nmap進行安裝

檢查系統(tǒng)已安裝nmap工具
1.1 確定哪些端口正在監(jiān)聽來自網(wǎng)絡(luò)的 TCP 連接:

-sT 選項告訴 Nmap 掃描 TCP 端口, -p- 掃描所有端口(65535 個)。如果不使用 -p-,Nmap 將僅掃描 1000 個端口。以上顯示,只有端口 22、40402以及 49354 在目標系統(tǒng)上打開。

1.2 要掃描 UDP 端口,請使用 -sU 代替 -sT:

2 使用 Netcat 命令檢查開放端口

Netcat(或nc)是一種命令行工具,可以使用 TCP 或 UDP 協(xié)議跨網(wǎng)絡(luò)連接讀取和寫入數(shù)據(jù)。

使用 netcat 可以掃描單個端口或端口范圍。

首先我們要安裝netcat工具,安裝步驟如下:

# step 1:下載netcat源碼包
wget wget http://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz

# step 2:解壓
tar -zxvf netcat-0.7.1.tar.gz -C /usr/local

# step 3:netcat文件夾重命名
cd /usr/local
mv netcat-0.7.1 netcat

# step 4:編譯安裝
cd /usr/local/netcat
./configure
make && make install

# step 5:添加netcat環(huán)境變量
vim /etc/profile
追加:
export NETCAT_HOME=/usr/local/netcat
export PATH=$PATH:$NETCAT_HOME/bin

# step 6:使環(huán)境變量立即生效
source /etc/profile
2.1 掃描遠程主機10.43.187.251且端口范圍為20-80之間打開的TCP端口

-z 選項指示 nc 僅掃描打開的端口,而不發(fā)送任何數(shù)據(jù),并且 -v 用于獲取更多詳細信息。

2.2 要掃描 UDP 端口,請將 -u 選項傳遞給 nc 命令:
nc -vz -u 10.43.187.251 20-80

3 使用 Bash 偽設(shè)備檢查打開的端口

檢查某個端口是打開還是關(guān)閉的另一種方法是使用 Bash Shell 檢查 /dev/tcp/.. 或 /dev/udp/.. 下的偽設(shè)備。

在 /dev/HOST/$IP 偽設(shè)備上執(zhí)行命令時,Bash 將在指定端口上打開到指定主機的 TCP 或 UDP 連接。

以下 if..else 語句將檢查端口 443 在 kernel.org 是否打開:

if timeout 5 bash -c '/dev/null'
then
echo "Port is open"
else
echo "Port is closed"
fi

輸出將如下所示:

Port is open

上面的代碼如何工作?

使用偽設(shè)備連接到端口時的默認超時時間非常長,因此我們使用 timeout 命令在 5 秒后終止測試命令。如果建立了 kernel.org 端口連接,則 443 測試命令將返回 true。

你也可以使用 for 循環(huán)來檢查指定的端口范圍:

for PORT in {20..80}; do
timeout 1 bash -c "/dev/null" && echo "port $PORT is open"
done

輸出將如下所示:

port 22 is open
port 80 is open

最后

我們?yōu)槟阏故玖藥追N如何使用掃描開放端口的工具,當然你也可以使用其它工具來達到同樣的目的,例如:Python Socket 模塊、Curl、Telnet 或 Wget。

譯者:Mike

鏈接:https://linuxize.com/post/check-open-ports-linux/

??往期精彩??

◆ ?干貨 | 給小白的Nginx10分鐘入門指南

◆ ?什么是集群?看完這篇你就知道啦!

◆ ?干貨 | Linux平臺搭建網(wǎng)關(guān)服務(wù)器

◆??干貨 | 理解正向代理與反向代理的區(qū)別

◆ ?硬核科普服務(wù)器硬盤組成與基本原理

◆ ?一文帶你速懂虛擬化KVM和XEN

◆ ?實戰(zhàn) | Hadoo大數(shù)據(jù)集群搭建

如有收獲,點個在看,誠摯感謝

總結(jié)

以上是生活随笔為你收集整理的linux 关闭端口_手把手教你在Linux中快速检测端口的 3 个小技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。