ฉันจะดูพอร์ตใดบ้างที่เปิดอยู่บนเครื่องของฉัน


148

ฉันต้องการดูว่าพอร์ตใดบ้างที่เปิดอยู่บนเครื่องของฉันเช่นพอร์ตใดที่เครื่องกำลังฟังอยู่ เช่นพอร์ต 80 ถ้าฉันติดตั้งเว็บเซิร์ฟเวอร์และอื่น ๆ

มีคำสั่งสำหรับสิ่งนี้หรือไม่?

คำตอบ:


113

nmap ติดตั้ง nmap

Nmap ("Network Mapper") เป็นยูทิลิตี้ฟรีและโอเพ่นซอร์สสำหรับการสำรวจเครือข่ายหรือการตรวจสอบความปลอดภัย

nmap 192.168.1.33 พีซีภายในหรือ nmap external ip address

ข้อมูลมากกว่านี้ man nmap


11
ขอบคุณnmap localhostทำงานได้ดีมาก
Jonas

11
โปรดจำไว้ว่ามีความแตกต่างระหว่างnmap localhostและnmap 192.168.0.3(หรือสิ่งที่คุณเคยเป็นเครื่อง IP)
LassePoulsen

6
ฉันคิดว่า netstat เป็นคำตอบที่ดีกว่าสำหรับเรื่องนี้ netstat จะแสดงรายการสิ่งที่ระบบกำลังฟังโดยตรงและโดยไม่ต้องใช้แอปพลิเคชันเพิ่มเติมหรือทำการโทรที่ไม่จำเป็นผ่าน localhost หรือคิดว่าเครือข่าย
Mathieu Trudel-Lapierre

2
นี่มันงี่เง่า netstat -lnหากคุณมีการเข้าถึงเครื่องคอมพิวเตอร์เพียงใช้ คุณจะเห็นพอร์ตที่เปิดอยู่ทั้งหมดทันที
Alexis Wilke

1
nmap localhostไม่พบบริการที่ผูกไว้กับ localhost เท่านั้น ยกตัวอย่างเช่นผมทำงานกับinfluxd bind-address:localhost:8086ที่ไม่ได้แสดงขึ้นในแต่ไม่แสดงขึ้นในsudo nmap localhost sudo netstat -tulpn
Dan Dascalescu

279

ฉันเคยใช้สิ่งนี้:

sudo netstat -ntlp | grep LISTEN

4
sudo netstat -ntlp | grep LISTEN... ใช้sudoมิฉะนั้น ... pid จะไม่ถูกพิมพ์
Rafaf Tahsin

6
-lตัวกรองสำหรับฟังแล้ว grep LISTENจะไม่ช่วยเกินกว่าการซ่อนข้อมูลส่วนหัว 2 บรรทัด
Dan Dascalescu

3
-t: TCP, -l: ฟังซ็อกเก็ต-p: แสดง pid และชื่อโครงการ-n: การพิมพ์แทน127.0.0.1:80 localhost:httpการอ้างอิง: linux.die.net/man/8/netstat
Rick

1
ติดตั้งnetstatด้วยsudo apt-get install net-tools
RichArt

2
sudo netstat --tcp --listening --programs --numericคำสั่งขยายเป็น ไม่จำเป็นต้องใช้grepนอกเสียจากว่าคุณต้องการกำจัดส่วนหัวของคอลัมน์
Patrick Dark

60

วิธีอื่นที่ดีในการค้นหาว่าพอร์ตใดที่รับฟังและกฎไฟร์วอลล์ของคุณคือ:

  • sudo netstat -tulpn

  • sudo ufw status


ฉันเปลี่ยนคำตอบเป็นnmapอีกครั้งการใช้งานของnetstatเป็นเรื่องไร้สาระ
Jonas

2
@ Jonas: ดูความคิดเห็นของฉันภายใต้คำตอบ nmap มันจะไม่แสดงรายการบริการที่ผูกไว้กับ localhost เท่านั้น
Dan Dascalescu

27

ในการแสดงรายการพอร์ตที่เปิดอยู่ให้ใช้netstatคำสั่ง

ตัวอย่างเช่น:

    $ sudo netstat -tulpn | grep LISTEN
    tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      5452/dnsmasq    
    tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1037/cupsd      
    tcp6       0      0 ::1:631                 :::*                    LISTEN      1037/cupsd

ในตัวอย่างข้างต้นสามบริการถูกผูกไว้กับที่อยู่ย้อนกลับ

บริการ IPv4 ที่เชื่อมโยงกับที่อยู่ลูปแบ็ค "127.0.0.1" มีให้เฉพาะในเครื่องโลคอล ที่อยู่ลูปแบ็คที่เทียบเท่าสำหรับ IPv6 คือ ":: 1" ที่อยู่ IPv4 "0.0.0.0" หมายถึง "ที่อยู่ IP ใด ๆ " ซึ่งหมายความว่าเครื่องอื่น ๆ อาจเชื่อมต่อกับส่วนต่อประสานเครือข่ายที่กำหนดค่าในเครื่องบนพอร์ตเฉพาะ

วิธีอื่นคือการใช้lsofคำสั่ง:

    $ sudo lsof -nP -i | grep LISTEN
    cupsd     1037   root    9u  IPv6  11276      0t0  TCP [::1]:631 (LISTEN)
    cupsd     1037   root   10u  IPv4  11277      0t0  TCP 127.0.0.1:631 (LISTEN)
    dnsmasq   5452 nobody    5u  IPv4 212707      0t0  TCP 127.0.0.1:53 (LISTEN)

ดูรายละเอียดเพิ่มเติมหรือman netstatman lsof


3
ฉันคิดว่า-lตัวเลือกคือการแสดงรายการLISTENพอร์ต ดังนั้น grep จะฟุ่มเฟือยที่นี่!
Alexis Wilke

24

นี่เพียงพอที่จะแสดงว่ามีกระบวนการรับฟังที่อยู่ IP 0.0.0.0(จำเป็นดังนั้นมันจะตอบกลับการร้องขอใด ๆ ) ที่พอร์ต 80 (หมายเลขพอร์ตเว็บเซิร์ฟเวอร์มาตรฐาน) ในกรณีของฉันนี่แสดงว่าเป็นเว็บเซิร์ฟเวอร์lighttpd

$ sudo netstat -ntlp | grep :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN          2495/lighttpd

หากภายหลังคุณต้องการให้แน่ใจว่าสิ่งเดียวที่คุณอนุญาตผ่านไฟร์วอลล์ของคุณคือพอร์ต 80 ฉันมักจะใช้ ShieldsUp จาก www.grc.com เพื่อทำการทดสอบไฟร์วอลล์


11

sudo iptables -Lจะแสดงรายการกฎพอร์ตสำหรับพีซีของคุณ โปรดทราบว่าหากคุณใช้ไฟร์วอลล์ ufw หรือ shorewall เอาต์พุตอาจอ่านยาก ในกรณีนั้นให้ใช้sudo ufw statusตัวอย่างเช่น

สิ่งนี้ไม่ได้มีประโยชน์มากในตัวมันเองแม้ว่าพอร์ตนั้นจะเปิดใช้งานการเข้าถึงจะยังคงถูกปฏิเสธหากไม่มีกระบวนการรับฟังพอร์ตนั้น


4

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

Zenmap เป็นส่วนต่อประสานผู้ใช้แบบกราฟิก (GUI) สำหรับ Nmap Security Scanner

รองรับ (Linux, Windows, Mac OS X, BSD, ฯลฯ )

ไปดูมุมมองเครื่องมือนี้:

ป้อนคำอธิบายรูปภาพที่นี่

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