Điều cần biết
- Để chạy netstat và xem dữ liệu chi tiết về mạng của máy Mac, hãy mở cửa sổ Terminalmới, nhập netstatvà nhấn Nhập.
- Giới hạn đầu ra của netstat với cờ và tùy chọn. Để xem các tùy chọn có sẵn của netstat, hãy nhập man netstattại dấu nhắc lệnh.
- Sử dụng lệnh lsofđể bù đắp cho chức năng bị thiếu hoặc hạn chế của netstat, bao gồm hiển thị bất kỳ tệp nào hiện đang mở trong bất kỳ ứng dụng nào.
Bài viết này giải thích cách chạy lệnh Netstat Terminal trong macOS để bạn có thể xem thông tin chi tiết về giao tiếp mạng của máy Mac, bao gồm cả cách máy Mac của bạn nói chuyện với thế giới bên ngoài, trên tất cả các cổng và tất cả các ứng dụng.
Cách chạy Netstat
Học cách sử dụng netstat có thể giúp bạn hiểu các kết nối mà máy tính của bạn đang thực hiện và tại sao. Lệnh netstat có sẵn trên Mac theo mặc định. Bạn không cần tải xuống hoặc cài đặt nó.
Để chạy netstat:
-
Vào Finder> Vào> Tiện ích.
-
Nhấp đúp vào Terminal.
-
Trong cửa sổ Terminal mới, nhập netstatvà nhấn Return(hoặc Nhập) để thực hiện lệnh.
-
Một lượng lớn văn bản sẽ bắt đầu cuộn trên màn hình của bạn. Nếu bạn không sử dụng bất kỳ cờ nào có sẵn (xem bên dưới), netstat sẽ báo cáo các kết nối mạng đang hoạt động trên máy Mac của bạn. Xem xét số lượng chức năng mà một thiết bị mạng hiện đại thực hiện, bạn có thể mong đợi danh sách dài. Một báo cáo tiêu chuẩn có thể chạy hơn 1, 000 dòng.
Cờ và Tùy chọn Netstat
Lọc đầu ra của netstat là điều cần thiết để hiểu những gì đang xảy ra trên các cổng đang hoạt động của máy Mac. Các cờ tích hợp của Netstat cho phép bạn thiết lập các tùy chọn, giới hạn phạm vi của lệnh.
Để xem tất cả các tùy chọn có sẵn của netstat, hãy nhập man netstattại dấu nhắc lệnh để hiển thị trang man netstat (viết tắt của "manual"). Bạn cũng có thể xem phiên bản trực tuyến của trang chủ của netstat.
Cú pháp
Điều quan trọng cần lưu ý là netstat trên macOS không hoạt động giống như netstat trên Windows và Linux. Sử dụng cờ hoặc cú pháp từ những triển khai netstat đó có thể không dẫn đến hành vi như mong đợi.
Để thêm cờ và tùy chọn vào netstat trên macOS, hãy sử dụng cú pháp sau:
netstat [-AabdgiLlmnqrRsSvWx] [-c hàng đợi] [-f address_family] [I interface] [-p protocol] [-w wait]
Nếu cách viết tắt ở trên hoàn toàn không thể hiểu được, hãy học cách đọc cú pháp lệnh.
Cờ hữu ích
Dưới đây là một số cờ thường được sử dụng nhất:
- - abao gồm các cổng máy chủ trong đầu ra của netstat, không có trong đầu ra mặc định.
- - ghiển thị thông tin liên quan đến các kết nối đa hướng.
- - Icung cấp dữ liệu gói cho giao diện được chỉ định. Tất cả các giao diện có sẵn đều có thể được xem bằng cờ- i, nhưng en0thường là giao diện mạng gửi đi mặc định. (Lưu ý chữ thường.)
- - nchặn nhãn các địa chỉ từ xa có tên. Điều này giúp tăng tốc đầu ra của netstat trong khi chỉ loại bỏ thông tin hạn chế.
- - pliệt kê lưu lượng liên kết với một giao thức mạng cụ thể. Danh sách đầy đủ các giao thức có sẵn tại / etc / protocols, nhưng những giao thức quan trọng nhất là udpvà tcp.
- - rhiển thị bảng định tuyến, hiển thị cách các gói được định tuyến trong mạng.
- - shiển thị thống kê mạng cho tất cả các giao thức, cho dù các giao thức đó có đang hoạt động hay không.
- - vlàm tăng tính chi tiết, cụ thể bằng cách thêm một cột hiển thị ID quy trình (PID) được liên kết với mỗi cổng đang mở.
Giao diện
Giao thức
Netstat Ví dụ
Hãy xem xét các ví dụ sau:
netstat -apv TCP
Lệnh này chỉ trả về các kết nối TCP trên máy Mac của bạn, bao gồm các cổng đang mở và các cổng đang hoạt động. Nó cũng sử dụng đầu ra dài dòng, liệt kê các PID được liên kết với mỗi kết nối.
netstat -a | grep -i "nghe"
Sự kết hợp giữa netstatvà grepcho thấy các cổng đang mở, đó là các cổng đang nghe thông báo. Ký tự ống dẫn |gửi đầu ra của một lệnh này đến một lệnh khác. Tại đây, kết quả của netstat được chuyển thành grep, cho phép bạn tìm kiếm từ khóa "nghe" và tìm kết quả.
Truy cập Netstat Thông qua Tiện ích Mạng
Bạn cũng có thể truy cập một số chức năng của netstat thông qua ứng dụng Network Utility, được bao gồm trong các phiên bản macOS cho đến Catalina (không có trong Big Sur).
Để truy cập Tiện ích Mạng, nhập Tiện ích Mạngvào Tìm kiếm Spotlight để khởi chạy ứng dụng, sau đó chọn tab Netstatđể truy cập giao diện đồ họa.
Các tùy chọn trong Tiện ích Mạng bị hạn chế hơn những tùy chọn có sẵn thông qua dòng lệnh. Mỗi lựa chọn trong số bốn lựa chọn nút radio sẽ chạy một lệnh netstat đặt trước và hiển thị đầu ra.
Các lệnh netstat cho mỗi nút radio như sau:
- Hiển thị thông tin bảng định tuyếnchạy netstat -r.
- Hiển thị thống kê mạng toàn diện cho từng giao thứcchạy netstat -s.
- Hiển thị thông tin đa hướngchạy netstat -g.
- Hiển thị trạng thái của tất cả các kết nối ổ cắm hiện tạichạy netstat.
Bổ sung Netstat với Lsof
Việc triển khai macOS của netstat không bao gồm nhiều chức năng mà người dùng mong đợi và cần. Mặc dù nó có những công dụng của nó, netstat không hữu ích trên macOS như trên Windows. Một lệnh khác, lsof, thay thế nhiều chức năng bị thiếu.
Lsof hiển thị các tệp hiện đang mở trong ứng dụng. Bạn cũng có thể sử dụng nó để kiểm tra các cổng mở liên quan đến ứng dụng. Chạy lsof -iđể xem danh sách các ứng dụng giao tiếp qua internet. Đây thường là mục tiêu khi sử dụng netstat trên máy Windows; tuy nhiên, cách có ý nghĩa duy nhất để thực hiện tác vụ đó trên macOS không phải với netstat mà là với lsof.
Cờ và Tùy chọn Lsof
Hiển thị mọi tệp đang mở hoặc kết nối internet thường dài dòng. Đó là lý do tại sao lsof đi kèm với cờ để hạn chế kết quả với các tiêu chí cụ thể. Những điều quan trọng nhất nằm bên dưới.
Để biết thêm thông tin về các cờ và giải thích kỹ thuật của từng loại, hãy xem trang man của lsof hoặc chạy man lsoftại dấu nhắc Terminal.
- - ihiển thị các kết nối mạng đang mở và tên của quá trình đang sử dụng kết nối. Thêm 4, như trong- i4, chỉ hiển thị các kết nối IPv4. Thay vào đó, việc thêm 6(- i6) sẽ chỉ hiển thị các kết nối IPv6.
- Cờ- icũng có thể được mở rộng để chỉ định thêm chi tiết. -iTCP hoặc -iUDP chỉ trả về các kết nối TCP và UDP. -iTCP: 25 chỉ trả về các kết nối TCP trên cổng 25. Một loạt các cổng có thể được chỉ định bằng dấu gạch ngang, vì nó -iTCP: 25-50.
- Sử dụng [email protected] chỉ trả về các kết nối đến địa chỉ IPv4 1.2.3.4. Địa chỉ IPv6 có thể được chỉ định theo cách tương tự. Tiền thân @ cũng có thể được sử dụng để chỉ định tên máy chủ theo cách tương tự, nhưng không thể sử dụng đồng thời cả địa chỉ IP từ xa và tên máy chủ.
- - sthường buộc lsof hiển thị kích thước tệp. Nhưng khi kết hợp với cờ- i,- shoạt động khác. Thay vào đó, nó cho phép người dùng chỉ định giao thức và trạng thái cho lệnh trả về.
- - phạn chế lsof đối với một ID quy trình cụ thể (PID). Nhiều PID có thể được đặt bằng cách sử dụng dấu phẩy, chẳng hạn như -p 123, 456, 789. ID quy trình cũng có thể được loại trừ bằng dấu ^, như trong 123, ^ 456, sẽ loại trừ cụ thể PID 456.
- - Ptắt chuyển đổi số cổng thành tên cổng, tăng tốc đầu ra.
- - nvô hiệu hóa việc chuyển đổi số mạng thành tên máy chủ. Khi được sử dụng với- Pở trên, nó có thể tăng tốc đáng kể đầu ra của lsof.
- - ungười dùng chỉ trả về các lệnh thuộc sở hữu của người dùng có tên.
lsof Ví dụ
Đây là một số cách để sử dụng lsof.
lsof -nP [email protected]: 513
Lệnh trông phức tạp này liệt kê các kết nối TCP với tên máy chủ lsof.itapvà cổng 513. Nó cũng chạy lsof mà không cần kết nối tên với địa chỉ IP và cổng, làm cho lệnh chạy nhanh hơn đáng kể.
lsof -iTCP -sTCP: NGHE
Lệnh này trả về mọi kết nối TCP với trạng thái LISTEN, tiết lộ các cổng TCP đang mở trên Mac. Nó cũng liệt kê các quy trình liên quan đến các cổng mở đó. Đây là một nâng cấp đáng kể so với netstat, liệt kê nhiều nhất PID.
sudo lsof -i -u ^ $ (whoami)
Các Lệnh Mạng Khác
Các lệnh mạng đầu cuối khác có thể quan tâm khi kiểm tra mạng của bạn bao gồm arp, ping và ipconfig.