วิธีใช้ netstat บนพอร์ตเฉพาะใน Linux


15

ฉันอยากรู้ว่าพอร์ตเฉพาะของฉันใช้เซิร์ฟเวอร์โดยใช้ netstat หรือไม่? ฉันจะประสบความสำเร็จได้อย่างไร


1
netstat -anp | grep portNumber
rags

คำตอบ:


15

คุณสามารถใช้ได้

netstat -pnlt | grep ':portno'

ตัวเลือกอื่นคุณสามารถใช้เครื่องมือ nmap สำหรับตรวจสอบพอร์ตที่เปิดอยู่บนเซิร์ฟเวอร์

nmap -sT -O localhost

เอาท์พุต

Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2004-09-24 13:49 EDT
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1653 ports scanned but not shown below are in state: closed)
PORT      STATE SERVICE
22/tcp    open  ssh 
25/tcp    open  smtp
111/tcp   open  rpcbind
Device type: general purpose

ตัวอย่าง Netstat:

[root@krizna ~]# netstat -pnlt | grep ':80'
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name 
tcp        0      0 :::80                       :::*                        LISTEN      1164/httpd          

และส่วนใดในผลลัพธ์ที่ฉันสามารถพิจารณาได้ว่าเป็นเซิร์ฟเวอร์หรือไม่

ตรวจสอบส่วนตัวอย่าง netstat พอร์ต ::: 80 จะแสดงภายใต้ที่อยู่ในท้องถิ่นซึ่งเป็น LISTENING (ฉันหมายถึงเปิด)

เป็นมูลค่าการกล่าวขวัญว่า grep ': portno' อาจรับที่อยู่ IPv6 บางอย่างที่เกิดขึ้นเพื่อให้มีลำดับที่ นั่นอาจเป็นปัญหาหากคุณพยายามใช้คำสั่งนี้ในสคริปต์
Kevin Keane

2

ใช้ netstat -anp | grep portNumber


ดังนั้นฉันจึงได้รับรายการการเชื่อมต่อ 80 พอร์ตจำนวนมาก ฉันจะหาพอร์ตเซิร์ฟเวอร์ได้อย่างไร

2

ฉันคิดว่าnetstat -nat | grep port | grep LISTENควรทำเคล็ดลับ


นี่คือรายการพอร์ตทั้งหมดแล้ว grep สำหรับฟังพอร์ต แต่มันก็ควรจะแสดงพอร์ตฟังกับแทน-l -aและคำถามนั้นไม่เพียงเกี่ยวกับพอร์ต TCP ดังนั้น-tตัวเลือกไม่ควรอยู่ที่นั่น
Paul Tobias
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.