Làm cách nào để liệt kê các cổng mở của tôi trên Debian?


58

Lệnh hiển thị danh sách các cổng mở trên máy chủ Debian là gì?

Tôi đã thử netstat -a | egrep 'Proto|LISTEN'nhưng tôi muốn một cái gì đó cụ thể hơn thực sự liệt kê số cổng.

Câu trả lời:


86
 netstat -pln

-lsẽ liệt kê các cổng nghe, -pcũng sẽ hiển thị quá trình, -nsẽ hiển thị số cổng thay vì tên. Thêm -tvào chỉ hiển thị các cổng TCP.


12
Để -phoạt động chính xác, bạn cần chạy cái này với quyền root, vì vậy sudo netstat -tpln, nếu không, cột quy trình sẽ không đặc biệt hữu ích, trừ khi bạn là người dùng có quá trình lắng nghe trên một cổng nhất định.
cjc

21

lsof -i -P

Kiểm tra trang người đàn ông vì lsofkhông thiếu các tùy chọn. -Pliệt kê số cổng chứ không phải tên được lấy từ /etc/servicesRun as root, tuy nhiên, điều này sẽ cung cấp cho bạn danh sách tất cả các kết nối mạng đang hoạt động và trạng thái của chúng (nghe, thiết lập, v.v.).


Đây phải là câu trả lời chính xác. Netstat không được cài đặt theo mặc định
José

10

Điều mà hầu hết mọi người đều muốn (TCP và UDP) là netstat -tunlp.

Tôi sử dụng nó mỗi ngày, có thể mỗi giờ. Bản hack 'lsof' có tính di động cao hơn (cũng hoạt động trên Solaris), nhưng trên Debian nó không phải là một gói thiết yếu, bạn phải cài đặt nó.


Vâng, và chạy nó qua sudo.
Martijn Heemels

1
Bạn tôi đã dạy tôi nhớ lệnh này với một tên hoa netstat -tulpenFlag ecung cấp thêm thông tin.
Deele

1
Và bây giờ, vào năm 2018, hộp Debian mới của tôi không có netstatnhưng không có lsof. :)
Jason

10

Tôi là một fan hâm mộ lớn netstat -ntlplsof -i, cả hai đã đề cập.

Một lệnh (er) mới với tôi là ss .

Lời cầu khẩn giống như:

ss -l

Thật tốt khi có các tùy chọn, về các lệnh và cờ.


1
các tùy chọn đặc biệt tốt vì container docker mongo (và có lẽ nhiều người khác) có ss nhưng không phải netstat hoặc lsof
Foon

Tôi bắt đầu sử dụng nó như một câu hỏi phỏng vấn. Có lẽ đã hỏi 40 người khác nhau. Cho đến nay không ai nhắc đến ss. Tôi hỏi nó giống như OP, sau đó nếu họ trả lời, tôi nói, "ok, tôi lấy đi X, bây giờ làm thế nào bạn có thể làm điều đó." Cho đến khi hết ý tưởng.
dmourati

6

Bạn có thể làm:

netstat -an | egrep 'Proto|LISTEN'

hoặc đơn giản:

netstat -anl

Nó sẽ cung cấp cho bạn tất cả các ổ cắm nghe trên hệ thống.


2
Đây sẽ là giải pháp tốt nhất (trong đó "tốt nhất" được định nghĩa là "hoạt động trên phạm vi rộng nhất của hệ thống" (BSD, Linux, AIX, Solaris, tôi tin rằng HP-UX))
voretaq7

0

TechRepulic có một bài viết hay mà bạn có thể tìm thấy ở đây . Nó có một số lệnh tương tự như bạn đã liệt kê ở trên nhưng cũng có một vài biến thể. Tôi cũng rất khuyến nghị sử dụng nmap để quét cổng máy tính đang được đề cập để bạn có thể thấy từ góc độ bên ngoài, cổng nào đang mở và lắng nghe.


Bạn có thể vui lòng cho tôi biết lý do tại sao điều này đã được bỏ phiếu? Vì tôi chỉ đơn giản là cung cấp một liên kết với rất nhiều giải pháp ở trên đã được phê duyệt cùng với một quan điểm khác về việc thực hiện quét bên ngoài. Cảm ơn.
Eric

8
Tôi đã không downvote, nhưng trên serverfault như hầu hết trao đổi stack, chúng tôi thường mong bạn đặt câu trả lời ở đây, và không chỉ là một liên kết đến một nơi khác. Liên kết biến mất theo thời gian, nhưng chúng tôi muốn nội dung trên SF vẫn có giá trị khi các liên kết chết.
Zoredache

Dòng mã duy nhất mà liên kết bài viết ở trên có là sudo nmap -T4 -A -v 192.168.1.1/24mọi thứ khác là thực hiện điều này - thực hiện điều đó mà không có bất kỳ chi tiết nào ... Nó giống như đọc bìa sau của một cuốn sách - rất nhiều từ không có thịt.
KingsInnerSoul

0

Các cổng nghe không giống như các cổng mở từ bên ngoài. Bạn cần xem xét tường lửa. Nếu bạn thử một chương trình như nmaptừ một máy tính khác thì bạn sẽ có thể thấy các cổng mở không bị chặn bởi tường lửa.


0

Tôi thích sử dụng thay thế:

netstat -antp 
lsof -i 
netstat -lptu
netstat -tulpn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.