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 นอกจากนี้เรายังแสดงวิธีการตรวจสอบว่ากระบวนการใดเชื่อมโยงกับพอร์ตใดพอร์ตหนึ่งโดยเฉพาะ คุณสามารถแบ่งปันความคิดของคุณหรือถามคำถามใด ๆ ผ่านแบบฟอร์มข้อเสนอแนะด้านล่าง