2012-07-11 29 views
6

thể trùng lặp:
Why does ping work without administrator privileges?Cách ping không cần quyền quản trị trên Windows?

Từ một bài báo MSDN trên TCP/IP Raw Sockets:

... Điều quan trọng là phải hiểu rằng một số ổ cắm loại SOCK_RAW có thể nhận được nhiều datagram bất ngờ. Ví dụ, một chương trình PING có thể tạo một ổ cắm kiểu SOCK_RAW để gửi các yêu cầu echo ICMP và nhận các phản hồi ....

Đoạn này gợi ý rằng để thực hiện ping ICMP, người ta phải sử dụng ổ cắm thô trên Windows nền tảng. Tuy nhiên, bài viết này cũng nói:

Lưu ý: Để sử dụng ổ cắm loại SOCK_RAW đòi hỏi quyền quản trị. Người dùng chạy các ứng dụng Winsock sử dụng ổ cắm thô phải là thành viên của nhóm Quản trị viên trên máy tính cục bộ, nếu không cuộc gọi socket thô sẽ không thành công với mã lỗi WSAEACCES. Trên Windows Vista trở lên, quyền truy cập cho các ổ cắm thô được thực thi khi tạo socket. Trong các phiên bản trước của Windows, quyền truy cập cho các socket thô được thực thi trong các hoạt động socket khác.

Tôi chắc chắn không cần phải là Quản trị viên cho ping các máy chủ khác. Vì vậy, không ping.exe có được điều trị đặc biệt, nó thậm chí còn sử dụng ổ cắm nguyên liệu hoặc có cái gì khác tôi đang mất tích?

+3

Có thể 'ping' không sử dụng ổ cắm thô? –

+0

"Đoạn văn này ngụ ý rằng để thực hiện một ICMP ping, người ta phải sử dụng ổ cắm thô trên nền tảng Windows." -- không nó không. – tenfour

+0

@tenfour Bạn nói đúng, * ngụ ý * là quá mạnh mẽ của một từ. – Tibor

Trả lời

5

Như Uwe đã nhận xét, ping không sử dụng ổ cắm thô. Nó sử dụng API cụ thể gửi yêu cầu echo được gọi là IcmpSendEcho hoặc IcmpSendEcho2.

Bạn có thể sử dụng Dependency Walker trên c:\windows\system32\ping.exe để tự mình xem.

+2

Tôi mong đợi lý do thực sự là lịch sử; trên các hệ thống dựa trên unix ping thường yêu cầu người dùng phải ở trong một nhóm đặc biệt, hoặc thường là chương trình ping có một bit đặc biệt để chạy như nhóm đó (nhưng nội bộ sẽ không cho phép người dùng thông thường tạo ra ping ping). Windows kế thừa từ các phiên bản cửa sổ trước đó mà không có khái niệm về tài khoản người dùng hoặc đặc quyền, vì vậy có thể có một kỳ vọng giữa những người dùng ping sẽ hoạt động như trước đây. –

Các vấn đề liên quan