Tin tức và phân tích của tất cả các thiết bị di động

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

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

VIDEO MUO TRONG NGÀY

CUỘN ĐỂ TIẾP TỤC

1. chuột nhắt

nethogi 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 việc sử dụng CPU và bộ nhớ. Hiển thị ảnh chụp nhanh về các tiến trình đang truy cập mạng.

Giống như top, htop hoặc atop, nethogs là một chương trình toàn màn hình cập nhật sau vài giây để hiển thị 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. Chỉ cần đi qua trình quản lý gói.

Ví dụ: trong Debian và Ubuntu:

 sudo apt install nethogs 

Và trên Arch Linux:

 sudo pacman -S nethogs 

Trong gia đình Red Hat:

 sudo dnf install nethogs 

Bạn cần phải root để chạy nethogs:

 sudo nethogs 

Nó có thể được thiết lập để bạn có thể chạy nethogs như một người dùng thông thường bằ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 nethogs tuyệt đối của mình. Bạn có thể tìm thấy nó bằng lệnh who:

 which nethogs 

2. lz

Mặc dù lsof là một công cụ để hiển thị các tệp đang mở nhưng nó cũng có thể hiển thị các kết nối mạng đang mở. Tùy chọn -i hiển thị danh sách các kết nối Internet được đính kèm với các tiến trình đang chạy trên hệ thống. Suy cho cùng, trong Linux, mọi thứ đều là một tập tin.

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

 lsof -i 

lsof sẽ hiển thị 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 chính thức của tệp kết nối.

Sử dụng tùy chọn -i4 và -i6, bạn có thể xem các kết nối IPv4 hoặc IPv6.

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

Trong Debian và Ubuntu, gõ:

 sudo apt install lsof 

Và trên Arch:

 sudo pacman -S lsof 

Trong dòng phân phối Red Hat:

 sudo dnf install lsof 

3. thống kê mạng

netstat bản thân nó 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ị những quá trình kết nối mạng được kết nối. Giống như lsof, bạn có thể thấy nó bằng các 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ụ: trong 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 trên dòng lệnh. Theo mặc định, nó sẽ hiển thị cho bạn các thông tin như giao thức, địa chỉ và trạng thái kết nối, nhưng tùy chọn -p sẽ thêm một cột hiển thị ID tiến trình và tên lệnh.

 netstat -p 

Khi netstat khởi động, nó sẽ liệt kê tất cả các kết nối mạng rồi thoát ra. Với tùy chọn -c, bạn có thể thấy danh sách 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 ưu điểm của việc thực hiện theo cách này là bạn có thể chuyển đầu ra sang một chương trình khác như grep hoặc pager để 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ể cần 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ốn băng thông của mình

Linux, giống như nhiều hệ điều hành hiện đại, được kết nối chặt chẽ 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 tiến trình có kết nối mở.

Các quy trình đôi khi trở nên điên rồ, ngay cả với các kết nối. Trên Linux, bạn có thể dễ dàng chấm dứt mọi quy trình lừa đảo.