Trích dẫn: "Làm thế nào tôi có thể biết ứng dụng hoặc quy trình nào đang sử dụng nó?"
Bạn có thể thử nettop (1) trong Terminal. Nó được cài đặt sẵn và làm mới cứ sau vài giây để cung cấp bảng điều khiển của tất cả các kết nối mạng mở (theo quy trình) với việc sử dụng chúng. Tốt hơn so với lsof
nó cho thấy dữ liệu sử dụng quá.
$ nettop
Sau đó nhấn 'd' và tìm các mục hoặc mục trông có vẻ kỳ quặc với lưu lượng truy cập lớn liên tục trong cột 'byte in' hoặc 'byte out'. 'D' hướng dẫn nettop chỉ hiển thị sự khác biệt trong mỗi lần làm mới màn hình.
Ghi chú sử dụng thực tế:
Nếu bạn không nhận ra tên quy trình, Google nó.
Nếu bạn không muốn tiến trình xung quanh, hãy lấy pid (số bên cạnh tên tiến trình trong nettop) và giết nó với kill -9 <pid>
. Nếu điều đó không giải quyết được, hãy tìm hiểu xem bạn có thể gỡ cài đặt quy trình không.
Nếu bạn quan tâm đến quá trình truyền qua mạng, hãy sử dụng số cổng máy khách cho kết nối cụ thể đó (ví dụ: '53133' từ 10.0.0.1:53133->74.125.68.100:80
) để chạy tcpdump (1) để xem dữ liệu trong các gói được trao đổi:sudo tcpdump -nnvvXSs 1514 port 53133
Nếu bạn quan tâm đến đích mà quá trình đang nói đến, nhưng địa chỉ IP đích không có tên máy chủ DNS ngược (như trong ví dụ trước), thì hãy thử truy cập địa chỉ IP đó trong trình duyệt web dưới dạng https: // IP , nhấp vào biểu tượng khóa bị hỏng trong thanh địa chỉ và xem chi tiết chứng chỉ để tìm ra tên miền nào được phục vụ ở đó (* .google.com trong trường hợp này). Điều này sẽ không hoạt động nếu cổng SSL 443 không mở trên đích.