ค้นหาเว็บไซต์

4 วิธีในการค้นหาว่าพอร์ตใดกำลังฟังอยู่ใน Linux


สถานะของพอร์ตเป็น เปิด, กรองแล้ว, ปิด หรือ ไม่ได้กรอง กล่าวกันว่าพอร์ตจะเปิดขึ้นหากแอปพลิเคชันบนเครื่องเป้าหมายกำลังฟังการเชื่อมต่อ/แพ็กเก็ตบนพอร์ตนั้น

ในบทความนี้ เราจะอธิบายสี่วิธีในการตรวจสอบพอร์ตที่เปิดอยู่ และจะแสดงวิธีค้นหาว่าแอปพลิเคชันใดกำลังฟังพอร์ตใดใน Linux

1. การใช้คำสั่ง Netstat

Netstat เป็นเครื่องมือที่ใช้กันอย่างแพร่หลายสำหรับการสืบค้นข้อมูลเกี่ยวกับระบบย่อยเครือข่าย Linux คุณสามารถใช้มันเพื่อพิมพ์พอร์ตที่เปิดอยู่ทั้งหมดดังนี้:

sudo netstat -ltup 

ธง -l บอกให้ netstat พิมพ์ซ็อกเก็ตการฟังทั้งหมด -t แสดงการเชื่อมต่อ TCP ทั้งหมด -u แสดงการเชื่อมต่อ UDP ทั้งหมด และ -p เปิดใช้งานการพิมพ์ชื่อแอปพลิเคชัน/โปรแกรมที่ฟังบนพอร์ต

หากต้องการพิมพ์ค่าตัวเลขแทนชื่อบริการ ให้เพิ่มแฟล็ก -n

sudo netstat -lntup

คุณยังสามารถใช้คำสั่ง grep เพื่อค้นหาว่าแอปพลิเคชันใดกำลังฟังพอร์ตใดพอร์ตหนึ่งอยู่ เป็นต้น

sudo netstat -lntup | grep "nginx"

หรือคุณสามารถระบุพอร์ตและค้นหาแอปพลิเคชันที่เชื่อมโยงกับดังที่แสดง

sudo netstat -lntup | grep ":80"

2. การใช้คำสั่ง ss

คำสั่ง ss เป็นอีกหนึ่งเครื่องมือที่มีประโยชน์สำหรับการแสดงข้อมูลเกี่ยวกับซ็อกเก็ต ผลลัพธ์จะดูคล้ายกับของ netstat คำสั่งต่อไปนี้จะแสดงพอร์ตการฟังทั้งหมดสำหรับการเชื่อมต่อ TCP และ UDP ในรูปแบบตัวเลข

sudo ss -lntu

3. การใช้คำสั่ง Nmap

Nmap เป็นเครื่องมือสำรวจเครือข่ายและเครื่องสแกนพอร์ตที่ทรงพลังและได้รับความนิยม หากต้องการติดตั้ง nmap บนระบบของคุณ ให้ใช้ตัวจัดการแพ็คเกจเริ่มต้นตามที่แสดง

sudo apt install nmap  [On Debian/Ubuntu]
sudo yum install nmap  [On CentOS/RHEL]
sudo dnf install nmap  [On Fedora 22+]

หากต้องการสแกนพอร์ตที่เปิด/ฟังทั้งหมดในระบบ Linux ให้รันคำสั่งต่อไปนี้ (ซึ่งน่าจะใช้เวลานานจึงจะเสร็จสมบูรณ์)

sudo nmap -n -PN -sT -sU -p- localhost

4. การใช้คำสั่ง lsof

เครื่องมือสุดท้ายที่เราจะพูดถึงสำหรับการสืบค้นพอร์ตที่เปิดอยู่คือคำสั่ง lsof ซึ่งใช้ในการแสดงรายการไฟล์ที่เปิดใน Linux เนื่องจากทุกอย่างเป็นไฟล์ใน Unix/Linux ไฟล์ที่เปิดอาจเป็นไฟล์สตรีมหรือไฟล์เครือข่าย

หากต้องการแสดงรายการไฟล์อินเทอร์เน็ตและเครือข่ายทั้งหมด ให้ใช้ตัวเลือก -i โปรดทราบว่าคำสั่งนี้แสดงชื่อบริการและพอร์ตตัวเลขผสมกัน

sudo lsof -i

หากต้องการค้นหาแอปพลิเคชันที่กำลังฟังบนพอร์ตใดพอร์ตหนึ่ง ให้เรียกใช้ lsof ในแบบฟอร์มนี้

sudo lsof -i :80

นั่นคือทั้งหมด! ในบทความนี้ เราได้อธิบายสี่วิธีในการตรวจสอบพอร์ตที่เปิดอยู่ใน Linux นอกจากนี้เรายังแสดงวิธีการตรวจสอบว่ากระบวนการใดเชื่อมโยงกับพอร์ตใดพอร์ตหนึ่งโดยเฉพาะ คุณสามารถแบ่งปันความคิดของคุณหรือถามคำถามใด ๆ ผ่านแบบฟอร์มข้อเสนอแนะด้านล่าง