Liệt kê tất cả các kết nối Internet đang mở trên máy Mac từ Terminal để theo dõi các vấn đề về băng thông
Gần đây, mạng LAN tại văn phòng của tôi chạy chậm hơn bình thường và tôi không thể xác định chính xác điều gì đang sử dụng hết băng thông bổ sung. Tôi đã nghi ngờ rằng nguyên nhân là do lưu lượng truy cập P2P nhưng tôi không thể thấy bất cứ điều gì rõ ràng trên máy vi phạm. Vì vậy, câu hỏi tất nhiên là làm thế nào để bạn biết những tiến trình nào đang kết nối với internet hoặc thế giới bên ngoài từ Mac OS X?
Sử dụng công cụ dòng lệnh lsof, chúng tôi có thể chuyển đối số -i để chỉ liệt kê các kết nối internet đang hoạt động và đang mở trên máy Mac của chúng tôi, đồng thời chúng tôi có thể tìm hiểu xem có điều gì đặc biệt không (hoặc trong trường hợp của tôi, một cái gì đó bị ẩn) đang diễn ra và kết nối với một địa chỉ bên ngoài, đồng thời, lệnh này cũng sẽ hiển thị cho bạn ID tiến trình của ứng dụng hoặc tác vụ vi phạm, để chúng tôi có thể tắt nó và dừng hoạt động nếu muốn.
Hiển thị danh sách tất cả các kết nối Internet đang mở trong OS X từ dòng lệnh
Thông tin này phải được nhập từ Terminal của OS X, nhưng có thể sử dụng từ xa bằng SSH hoặc cục bộ trên máy Mac.
Tôi đã đăng nhập vào máy Mac vi phạm và nhập lệnh sau:
lsof -i
Bạn không cần sử dụng sudo nhưng bạn có thể sử dụng nếu muốn hoặc cần thiết cho trường hợp sử dụng cụ thể của mình.
Đầu ra của lsof hơi bận nhưng nếu bạn đã quen với dòng lệnh thì không có gì quá điên rồ.
Đây là ví dụ về đầu ra được hiển thị bởi chuỗi lệnh lsof -i này:
MacMini:~ macuser$ lsof -i LỆNH PID NGƯỜI DÙNG FD LOẠI THIẾT BỊ KÍCH THƯỚC/TẮT NÚT TÊN SystemUIS 93 macuser 6u IPv4 0x04db27bc 0t0 UDP : SystemUIS 93 macuser 10u IPv4 0x04db26e0 0t0 UDP : iChatAgen 111 macuser 6u IPv4 0x07084734 0t0 UDP localhost:49490->localhost:49490 iChatAgen 111 macuser 10u IPv4 0x05666f28 0t0 TCP 192.168.0.101:53762->bos-m012c-sdr6.blue.aol.com:aol ( Được thiết lập) Synergys 129 Macuser 5U IPv4 0x05f2f6b0 0t0 :daap (LISTEN)
Trong màn hình đầu ra lsof ở trên, không có gì bất thường, nhưng trong quá trình khắc phục sự cố mạng đã nói ở trên, tôi đã phát hiện ra một ứng dụng khách BitTorrent đang chạy ẩn trong nền của một trong các máy Mac trong mạng của tôi và nó đang gieo một số tệp lớn! Đương nhiên, tôi đã tắt ứng dụng khách BitTorrent, xóa ứng dụng, xóa các tệp và Mac LAN lại chạy ở tốc độ tối đa.
Chỉ liệt kê các kết nối Internet đã thiết lập
Nếu bạn chỉ muốn hiển thị các kết nối đã thiết lập (có nghĩa là chúng đang liên lạc tích cực và một liên kết đã được thiết lập giữa máy cục bộ và IP bên ngoài), bạn có thể sử dụng biến thể lệnh này của lệnh đã nói ở trên chuỗi lsof:
lsof -i | grep -E (LẮNG NGHE|ĐÃ THÀNH LẬP)"
Bạn có thể kết hợp tính năng này với 'xem' để nhận danh sách các kết nối đã thiết lập được cập nhật tự động.
Và nếu bạn tình cờ biết tên quy trình, bạn luôn có thể sử dụng grep cho tên cụ thể hoặc tên mơ hồ đó.
Đây là một chút nâng cao, nhưng nó hoạt động khá tốt cho người dùng Mac, những người cảm thấy thoải mái với thiết bị đầu cuối và dòng lệnh nói chung. Những người dùng Mac mới làm quen hơn có thể sử dụng Private Eye để giám sát các kết nối mạng và internet trong OS X, đây là một ứng dụng bên thứ ba miễn phí nhưng xuất sắc chạy trong giao diện người dùng đồ họa và dễ phân tích cú pháp hơn một chút, đặc biệt nếu bạn chưa có kinh nghiệm với thiết bị đầu cuối.