Thông thường, trong các ứng dụng mà tôi phát triển, tôi muốn bao gồm một chỉ báo trạng thái mạng cho các thiết bị khác nhau trên mạng. Cách dễ nhất để giám sát các thiết bị này là bằng cách ping chúng. Nhưng tiếng vang ICMP thường khó tích hợp vào một ứng dụng do yêu cầu bảo mật với ổ cắm thô hoặc vấn đề về hiệu năng với việc tách ra ping
. Ngoài ra, đối với các tình huống không phải là vấn đề, tôi sẽ viết các biến thể hơi khác nhau của cùng một mã ping cho các tình huống khác nhau.
Hầu hết các thiết bị mà tôi theo dõi được các thiết bị nhúng với khả năng của mạng tối thiểu (nhưng luôn bao gồm ICMP echo), vì vậy tôi làm phải gắn bó với giao thức này, những thứ như Echo Nghị định thư (chỉ ra bởi Mark trong ý kiến dưới đây, cảm ơn!) Thường aren Không có sẵn cho tôi.
Có dịch vụ nào đã tồn tại có thể cung cấp dịch vụ ping ICMP chi phí thấp cho ứng dụng không root?
Tôi đang xem xét việc viết một dịch vụ chạy bằng root và cho phép các ứng dụng không root khác kết nối với nó, thêm thiết bị để giám sát và sau đó truy vấn thời gian ping và trạng thái mạng từ nó, nhưng tôi không muốn phát minh lại một bánh xe và tôi Tôi đang tự hỏi nếu một cái gì đó như thế này đã tồn tại.
ping
chính lệnh đó. Nó có các tùy chọn để làm cho nó im lặng, và sau đó bạn chỉ cần kiểm tra trạng thái chấm dứt để xem nó có thành công hay không.