Hiển thị các ứng dụng & đang sử dụng kết nối Internet qua dòng lệnh trong Mac OS X

Mục lục:

Anonim

Giống như việc bạn có thể giám sát việc sử dụng hệ thống tệp của Mac OS X thông qua dòng lệnh, bạn cũng có thể khám phá những ứng dụng và quy trình riêng lẻ hiện đang sử dụng kết nối internet của máy Mac. Đây là một thủ thuật thực sự hữu ích nếu bạn biết băng thông của mình đang được sử dụng bởi thứ gì đó hoặc nếu bạn chỉ đang cố gắng theo dõi những ứng dụng hoặc quy trình nền nào đang kết nối với thế giới bên ngoài.

Để xác định ứng dụng Mac, daemon, quy trình hoặc bất kỳ thứ gì khác đang sử dụng internet, chúng ta sẽ chuyển sang dòng lệnh của Mac OS X và sử dụng biến thể nâng cao hơn của lsof xuất sắc yêu cầu. Và vâng, điều này sẽ hoạt động với mọi phiên bản MacOS hoặc Mac OS X và loại kết nối internet thông qua bất kỳ dịch vụ nào, cho dù đó là wi-fi và mạng không dây hay ethernet, và điều này cũng sẽ hoạt động trên máy linux vì lsof là một mạng tiêu chuẩn công cụ nhị phân.

Chúng tôi sẽ đề cập đến hai cách để thực hiện việc này, cách thứ nhất cung cấp đầu ra dễ đọc và sẽ in tên của các ứng dụng và quy trình đang kết nối với thế giới bên ngoài và chuỗi thứ hai sẽ cung cấp thông tin cực kỳ chi tiết về PID nào đang kết nối với máy chủ nào và sử dụng giao thức nào. Bạn có thể sử dụng một trong hai hoặc cả hai, tùy theo nhu cầu cụ thể của mình.

Cách Hiển thị Tên Ứng dụng & Quy trình Sử dụng Internet trong Mac OS X

Mở ứng dụng Terminal nếu bạn chưa làm như vậy và nhập chính xác lệnh sau:

lsof -nPi | cắt -f 1 -d ">

Bạn có thể muốn sao chép/dán chuỗi đó nếu không quen với dòng lệnh, chỉ cần đảm bảo toàn bộ chuỗi được thực thi trên một dòng cú pháp.

Chạy lệnh dài dòng đó sẽ cho kết quả đầu ra giống như thế này:

SystemUIS Dropbox iChatAgen Finder iTunes Google ssh

Đây chỉ là tên ứng dụng và quy trình của những gì đang tích cực sử dụng internet. Bây giờ, rõ ràng là không có nhiều dữ liệu hơn ở đây, nhưng nếu bạn chỉ đang cố gắng theo dõi một ứng dụng ăn cắp băng thông giả mạo thì đôi khi nó đủ cho mục đích đó.

Tất nhiên, có nhiều tình huống trong đó thông tin mở rộng về quy trình và/hoặc ứng dụng nào đang sử dụng kết nối mạng, cách thức và địa chỉ từ xa nào, và đó là nội dung chúng tôi sẽ đề cập tiếp theo.

Cách Hiển thị Thông tin Chi tiết cho ID Tiến trình Kết nối với Internet từ Mac OS X

Nếu bạn muốn biết thêm thông tin chi tiết hơn những gì được hiển thị trong chuỗi lệnh trên, chúng ta có thể sửa lại lệnh trên để lấy thêm dữ liệu thô từ lsof bằng cách loại bỏ các đường dẫn đến các tiện ích dòng lệnh khác, để lại cho chúng tôi các chi tiết chưa được tinh chỉnh trực tiếp từ lsof. Bạn cũng sẽ nhận thấy rằng tôi đã cắt cờ -n vì tôi muốn xem tên máy chủ lần này:

lsof -Pi

Điều này sẽ cung cấp nhiều dữ liệu chi tiết hơn, bao gồm tên ứng dụng, PID, giao thức, địa chỉ IP, tên máy chủ và trạng thái hiện tại của kết nối. Tất cả dữ liệu rất hữu ích.

Nếu đó là tình trạng quá tải thông tin, hãy thử chuyển lệnh qua 'thêm' để dễ đọc hơn theo từng đoạn hoặc sử dụng grep để sắp xếp dữ liệu cho một ứng dụng hoặc quy trình cụ thể, như sau:

$ lsof -Pi |grep iChatAgen iChatAgen 228 David 10u IPv4 0x0bfe44ec 0t0 UDP 127.0.0.1:5191->bos-d25v-r2d2.blue.aol.com:5191 iChatAgen 228 David 13u IPv4 0x1e148b1e 0t0 TCP 192.168.1.29:50051->206.198.4.49:5190 (ĐÃ THÀNH LẬP)

lsof là một tiện ích mạnh mẽ với vô số công dụng. Tôi đã đề cập đến việc sử dụng lsof để theo dõi các vấn đề về băng thông cách đây khá lâu, nhưng nó chỉ sử dụng cờ -i được đơn giản hóa hơn đáng kể. Bạn có thể sử dụng bất kỳ biến thể nào được đề cập và mỗi biến thể có các trường hợp sử dụng riêng có thể hữu ích.

Các công cụ dòng lệnh hướng đến người dùng nâng cao, nhưng những người mới sử dụng Mac OS X hoặc những người không thích Terminal có thể sử dụng các ứng dụng như Private Eye để giúp xem điều gì đang sử dụng kết nối internet của máy Mac trong một cách tương tự, mặc dù thân thiện hơn nhiều với người dùng và hoàn toàn trong một ứng dụng Mac truyền thống.

Hiển thị các ứng dụng & đang sử dụng kết nối Internet qua dòng lệnh trong Mac OS X