Các netstat lệnh là một công cụ cần thiết để quản trị mạng. Nó hiển thị thông tin về hệ thống con mạng Linux bao gồm dữ liệu về các kết nối mạng mở, bảng định tuyến và thống kê về các giao diện mạng đã cài đặt.

Lệnh netstat đơn giản nhất chỉ là chạy công cụ mà không có bất kỳ tham số nào:

Thao tác này sẽ hiển thị danh sách các kết nối đang mở hiện tại trên máy của bạn. Tuy nhiên, kết quả có thể hơi khó sử dụng. Do đó, tốt hơn là chia nhỏ các kết nối theo loại. Để liệt kê tất cả các kết nối TCP đang mở, hãy sử dụng:

Kết quả là danh sách các kết nối hiện tại đang được thực hiện với máy tính của bạn. Trong ví dụ trên, bạn có thể thấy rằng máy kiểm tra của tôi đang chạy một máy chủ SSH và có các kết nối SSH đã được thiết lập.

Chú ý dòng có nội dung Active Internet connection (w/o servers). The last part means that netstat didnt bao gồm danh sách bất kỳ máy chủ nào đang chạy trên máy của bạn; nói cách khác, nó đã khôngt liệt kê những chương trình đang đợi kết nối TCP nhưng hiện chưa được thiết lập.

Để nhận danh sách các kết nối TCP đang hoạt động và danh sách các cổng đang lắng nghe các kết nối TCP, hãy thêm -a:

Các -a là viết tắt của ALL và thêm bộ cổng lắng nghe. Nhìn xuống danh sách, bạn có thể thấy rằng máy tính Linux của tôi cũng đang chờ kết nối SSH qua IPv6.

Thông tin tương tự cũng có thể được tạo cho UDP bằng cách sử dụng:

Ngược lại với -a-l làm cho netstat liệt kê các cổng lắng nghe nhưng bỏ qua các kết nối đang hoạt động.

Để xem danh sách các quy trình có kết nối đang mở hoặc đang chờ kết nối, hãy sử dụng -p:

netstat-atp

Bạn có thể dùng -p với cả hai -t cho TCP hoặc -u cho UDP. Cũng lưu ý rằng bạn cần chạy lệnh với sudo. Các -p làm cho việc diễn giải danh sách kết nối dễ dàng hơn nhiều. Từ ví dụ trên, bạn có thể thấy rằng không chỉ máy chủ SSH đang chạy (sshd), mà máy có một máy chủ CUPS đang chạy cùng với máy chủ mini DNSMasq.

Nếu bạn cần kiểm tra xem một dịch vụ cụ thể đang chạy, bạn có thể sử dụng netstat kết hợp với grep. Ví dụ: trong quá trình thiết lập thử nghiệm của mình, tôi đã cài đặt một máy chủ email (postfix). Để kiểm tra xem nó có đang chạy hay không, tôi có thể sử dụng như sau:

netstat-ltp-grep-smtp

Các -ltp ra lệnh cho netstat chỉ liệt kê các máy chủ TCP (tức là các quá trình đó đang lắng nghe các kết nối) và grep lệnh lọc đầu ra để chỉ hiển thị các dòng có chuỗi smtp. Kết quả là, chúng ta có thể thấy rằng quá trình master (là tên của tiến trình chính của Postfix) đang lắng nghe trên IPv4 và IPv6 đối với các kết nối SMTP đến.

netstat có thể tạo ra khá nhiều thông tin thống kê về hệ thống mạng con. Hãy thử các lệnh sau:

  • netstat -i để nhận thông tin sử dụng về các giao diện mạng
  • netstat -ie để nhận thông tin sử dụng mở rộng
  • netstat -s để nhận số liệu thống kê tóm tắt cho từng giao thức mạng (tức là TCP, UDP, ICMP, v.v.)

Để lấy bảng định tuyến hạt nhân hiện tại, hãy sử dụng:

netstat-rn

Đọc bảng định tuyến cần một con mắt được đào tạo, nhưng về cơ bản những gì ví dụ trên cho thấy là tuyến mặc định (0.0.0.0) cho tất cả các gói khác với gói dành cho máy cục bộ sẽ được gửi đến 192.168.1.254, trong thiết lập thử nghiệm của tôi là cổng mặc định và modem / bộ định tuyến Internet của tôi.

Bạn có thể chạy lệnh mà không cần -n có nghĩa là netstat sẽ cố gắng giải quyết các địa chỉ.

Trang netstat man có danh sách đầy đủ tất cả các tùy chọn có sẵn, bạn có thể đọc bằng cách sử dụng:

Nếu bạn gặp bất kỳ khó khăn nào với các ví dụ được đưa ra ở trên, vui lòng đặt câu hỏi trong phần nhận xét bên dưới.

Bài viết này có hữu ích không?

Previous articleCách tùy chỉnh thanh Google
Next articleCách tùy chỉnh Trình khởi chạy Unity Ubuntus cho các không gian làm việc khác nhau bằng Trình khởi chạy UnitySwitcher