2010-09-23 34 views
8

Khi sử dụng ping trên hầu như tất cả hệ thống UNIX sẵn, ping địa chỉ quảng bá rất đơn giản: (! Và liên tục gây phiền nhiễu)Linux ping broadcast switch

$ ping 192.168.11.255 

Tuy nhiên, khi điều này được thực hiện trên Linux, một tổ chức phi tiêu chuẩn phản hồi xảy ra:

$ ping 192.168.11.255 
Do you want to ping broadcast? Then -b 

Điều này đã làm tôi khó chịu khi tôi thấy nó lần đầu tiên - Linux ping không sử dụng cách này. Tôi đã tìm kiếm nguồn của công tắc này và không thể tìm thấy khi nào nó đi vào hoặc bất kỳ cuộc thảo luận nào về lý do tại sao nó là cần thiết.

Nó có vẻ như chuyển đổi này thậm chí còn không được coi là đủ:

$ ping -b 192.168.11.255 
WARNING: pinging broadcast address 
PING 192.168.11.255 (192.168.11.255) 56(84) bytes of data. 
64 bytes from 192.168.11.22: icmp_seq=1 ttl=64 time=0.225 ms 

Đây có phải là thực sự cần thiết? Rất khó để viết một bản vá sẽ khắc phục sự cố ping của Linux để nó hoạt động như thế ...

Tôi không thể tin rằng không có ai khác phàn nàn về điều này, nhưng tôi không thể tìm thấy nó trên Google nếu họ .

+0

Tôi đồng ý. Tôi tò mò quá tại sao điều này đã được thêm vào. – aioobe

+0

Bạn muốn suy nghĩ kỹ trước khi thực hiện việc này để không làm kẹt mạng bằng cách có hàng trăm máy trả lời bằng gói ICMP. – nos

+1

Điều này sẽ có trên superuser.com .... – t0mm13b

Trả lời

2

Bạn có thể đặt

alias ping='ping -b' 

trong tập tin .bashrc bạn :-)

+0

Tôi nghĩ câu hỏi này giống như tại sao chuyển đổi tồn tại ở vị trí đầu tiên. –

+0

Matti đúng. Bên cạnh đó, công tắc -b chỉ hoạt động nếu địa chỉ là địa chỉ quảng bá; nếu không, kết quả hiển thị sử dụng thay vào đó. – Mei

+0

@Matti: Vâng, tôi hiểu rằng câu hỏi là về lý do cho chuyển đổi '-b' được thêm vào, trái ngược với giải pháp thay thế cho nó! @ David: Hoạt động ở đây. Khi tôi hiểu mọi thứ từ mã nguồn ping (http://www.linux-ipv6.org/gitweb/gitweb.cgi?p=gitroot/iputils.git;a=blob;f=ping.c;h=4472d777f7e098525b57c09c8f748ec877e6d518; hb = HEAD) nó chỉ cho phép phát sóng bằng cách thiết lập một tùy chọn socket. Tôi đoán nó có thể không hoạt động trên một số hệ thống, mặc dù. –

1

tôi hình dung có thể nghĩ đến một kịch bản mà này có thể có ích. Nếu bạn đang ở trên một mạng có địa chỉ quảng bá được định cấu hình không phải là địa chỉ mà tất cả các bit lưu trữ là một. Vì vậy, bạn có thể vô tình hình dung ping địa chỉ quảng bá nếu không có lời nhắc như vậy. Và tôi đoán đó là xấu.