Cách giám sát việc sử dụng mạng cho các quy trình trên Linux

Spread the love

Truy cập Internet là điều cần thiết, nhưng bạn có thể thắc mắc các quy trình Linux nào sử dụng kết nối của bạn nhiều nhất trên máy tính của bạn. May mắn thay, với một số tiện ích phổ biến của Linux, việc giám sát quá trình nào sử dụng băng thông của bạn thật dễ dàng. Dưới đây là một số trong số họ:

MUO VIDEO TRONG NGÀY

CUỘN ĐỂ TIẾP TỤC VỚI NỘI DUNG

1. mạng lưới

nethogs là một chương trình thực hiện các kết nối internet giống như htop hoặc top thực hiện đối với việc sử dụng CPU và bộ nhớ. Nó hiển thị cho bạn ảnh chụp nhanh về quá trình nào đang truy cập mạng.

Giống như top, htop hoặc atop, nethogs là chương trình toàn màn hình cập nhật sau vài giây để hiển thị cho bạn các kết nối mạng hiện tại theo quy trình.

Cài đặt nethogs rất đơn giản. Bạn chỉ cần đi qua trình quản lý gói của mình.

Ví dụ: trên Debian và Ubuntu:

 sudo apt install nethogs 

Và trên Arch Linux:

 sudo pacman -S nethogs 

Về gia đình Mũ Đỏ:

 sudo dnf install nethogs 

Để chạy nethogs, bạn cần phải root:

 sudo nethogs 

Có thể thiết lập nó để bạn có thể chạy nethogs như một người dùng thông thường bằng cách sử dụng lệnh này:

 sudo setcap "cap_net_admin,cap_net_raw+pe" /path/to/nethogs 

Bạn nên thay thế “/path/to/nethogs” bằng tên đường dẫn tuyệt đối của nethogs. Bạn có thể tìm thấy điều này bằng lệnh which:

 which nethogs 

2. lsof

Mặc dù lsof là một tiện ích để liệt kê các tệp đang mở, nhưng nó cũng có thể liệt kê các kết nối mạng đang mở. Tùy chọn -i liệt kê các kết nối internet được gắn với các quy trình đang chạy trên hệ thống. Rốt cuộc, trên Linux, mọi thứ đều là một tệp.

  Cách chơi The Room trên Linux

Để xem các kết nối internet hiện tại, hãy sử dụng lệnh này:

 lsof -i 

lsof sẽ hiển thị cho bạn tên của bất kỳ lệnh nào có kết nối internet mở, PID, bộ mô tả tệp, loại kết nối internet, kích thước, giao thức và tên tệp chính thức của kết nối.

Sử dụng các tùy chọn -i4 và -i6 cho phép bạn xem các kết nối sử dụng IPv4 hoặc IPv6.

Rất có thể bạn đã cài đặt lsof rồi. Nó cũng dễ dàng cài đặt trên các bản phân phối Linux chính nếu không.

  Cách kiểm soát quyền truy cập sudo trên Linux

Trên Debian và Ubuntu, gõ:

 sudo apt install lsof 

Và trên Arch:

 sudo pacman -S lsof 

Trên dòng distro Red Hat:

 sudo dnf install lsof 

3. netstat

netstat là một chương trình mạnh mẽ, cho phép bạn xem các kết nối mạng trên hệ thống của mình. Nó không hiển thị cho bạn quá trình kết nối mạng nào được đính kèm. Như với lsof, bạn có thể thấy điều này bằng tùy chọn dòng lệnh.

netstat là một phần của gói công cụ mạng. Bạn có thể cài đặt nó trên hầu hết các bản phân phối Linux bằng trình quản lý gói mặc định.

Ví dụ: trên Debian hoặc Ubuntu:

 sudo apt install net-tools

Trên Arch Linux:

 sudo pacman -S net-tools 

Để cài đặt netstat trên Fedora, CentOS và RHEL, hãy chạy:

 sudo dnf install net-tools 

Bạn có thể chạy netstat tại dòng lệnh. Theo mặc định, nó sẽ hiển thị cho bạn thông tin như giao thức, địa chỉ và trạng thái của kết nối, nhưng tùy chọn -p thêm một cột hiển thị ID tiến trình và tên lệnh.

 netstat -p 

Khi bạn chạy nó, netstat sẽ chỉ liệt kê tất cả các kết nối mạng và sau đó thoát ra. Với tùy chọn -c, bạn có thể thấy danh sách các kết nối được cập nhật liên tục:

 netstat -pc 

Điều này sẽ tương tự như việc sử dụng một chương trình định hướng màn hình như nethogs, nhưng lợi thế của việc thực hiện theo cách này là bạn có thể chuyển kết quả đầu ra sang một chương trình khác như grep hoặc máy nhắn tin để kiểm tra nó:

 netstat -p | grep 'systemd' 

Để xem tất cả các quy trình có kết nối mạng trên hệ thống của bạn, bạn có thể phải chạy netstat với quyền root:

 sudo netstat  

Bây giờ bạn có thể xem ứng dụng Linux nào đang ngấu nghiến băng thông của bạn

Linux, giống như nhiều hệ điều hành hiện đại, được kết nối mật thiết với internet. Đôi khi có thể khó theo dõi quá trình nào đang sử dụng băng thông của bạn. Với các công cụ như nethogs, lsof và netstat, bạn có thể theo dõi các quy trình có kết nối mở.

  Cách cài đặt chủ đề biểu tượng thống nhất trên Linux

Các quy trình đôi khi gặp trục trặc, ngay cả với các kết nối. Trên Linux, bạn có thể dễ dàng chấm dứt bất kỳ quy trình giả mạo nào.

x