2013-04-09 37 views
5

Tôi đang cố gắng liệt kê tất cả các ổ cắm đa hướng đã mở trên một hệ thống Linux? netstat -g liệt kê các nhóm đã tham gia. Có tiện ích nào khác mà tôi có thể sử dụng vì mục đích này không?liệt kê các ổ cắm đa hướng

Cảm ơn bạn rất nhiều vì đã giúp đỡ.

Trả lời

1

Tôi không nghĩ rằng có một công cụ có thể cung cấp cho bạn thông tin đó.

Lý do là ổ cắm đa hướng không bị ràng buộc vào một địa chỉ, nó chỉ tham gia vào một nhóm phát đa hướng (IP_ADD_MEMBERSHIP). Một socket có thể kết hợp nhiều nhóm khác nhau trên cùng một giao diện, hoặc cùng một nhóm trên các giao diện khác nhau, do đó, nó sẽ có ý nghĩa rất ít để duy trì các tham số chéo này. Thông tin duy nhất mà hạt nhân tiếp xúc là/proc/net, và trong trường hợp này là/proc/net/igmp (< - netstat -g).

6

Ngoài netstat -g bạn có thể sử dụng để xem tất cả các ổ cắm được ràng buộc với một địa chỉ multicast:

netstat -anu|sort -nk4 

Đây là danh sách của tất cả các socket UDP (cho dù multicast hay không). Tìm kiếm tất cả các địa chỉ trong phạm vi 224.0.0.0 đến 239.255.255.255. Đây là các socket được liên kết với các địa chỉ multicast, bất chấp chúng có tham gia nhóm multicast hay không. Điều này sẽ chỉ chỉ nhận lưu lượng truy cập cho nhóm phát đa hướng này.

Nhưng:

Trong thực tế Ổ cắm UDP được sử dụng để nhận lưu lượng phát đa hướng thường bị ràng buộc đến địa chỉ 0.0.0.0. Chúng có thể nhận các gói UDP cho tất cả các địa chỉ unicast và multicast, và máy chủ thường thực hiện một số lọc bổ sung dựa trên địa chỉ nguồn-IP. Vì vậy, trong danh sách ở trên, bạn có thể muốn xem xét các ổ cắm UDP bị ràng buộc đến 0.0.0.0, ví dụ 0.0.0.0 matches353 có nhiều khả năng là máy chủ mDNS (avahi, zeroconf).