Tôi hiểu rằng máy chủ có thể tìm ra địa chỉ IP, vị trí, thông tin trình duyệt và hệ điều hành của tôi. Về HĐH ... Nếu tôi đang chạy Linux, máy chủ có thể tìm hiểu tôi đang sử dụng bản phân phối Linux nào không?
Tôi hiểu rằng máy chủ có thể tìm ra địa chỉ IP, vị trí, thông tin trình duyệt và hệ điều hành của tôi. Về HĐH ... Nếu tôi đang chạy Linux, máy chủ có thể tìm hiểu tôi đang sử dụng bản phân phối Linux nào không?
Câu trả lời:
Có lẽ nhiều nhất. Nhấp vào liên kết này để xem những gì trình duyệt của bạn gửi đến máy chủ web. HĐH phải được liệt kê trong danh mục đầu tiên gọi là "Tác nhân người dùng"
Một trang web tốt khác sẽ cho bạn thấy những gì một trang web có thể tìm hiểu về hệ thống của bạn khi truy cập trang web đó là BrowserSpy.dk ; các (EFF) Electronic Frontier Foundation trang web được liệt kê trong câu trả lời của Keltari sử dụng một số mã từ BrowserSpy.dk. Nếu bạn nhấp vào Trình duyệt trên menu bên trái của trang chủ, bạn sẽ thấy thông tin liên quan đến trình duyệt của mình. Khi tôi truy cập trang bằng Firefox trên hệ thống Ubuntu Linux, tôi thấy "Mozilla / 5.0 (X11; Ubuntu; Linux i686; rv: 24.0) Gecko / 201001 Firefox / 24.0)"
Có một số nơi trình duyệt có thể gửi thông tin:
User-AgentTiêu đề HTTP. Nó là một phần của đặc tả HTTP và mỗi yêu cầu có một https://en.wikipedia.org/wiki/User_agent . Như bạn có thể thấy, có tên công cụ kết xuất, phiên bản trình duyệt và tên hệ điều hành. Sử dụng "thanh công cụ dành cho nhà phát triển" hoặc "con bọ lửa" để tìm danh sách các tiêu đề mà trình duyệt của bạn gửi: /programming/4423061/view-http-headers-in-google-chrom
JavaScript: có Navigatorlớp trong JavaScript, nó cung cấp tên os và tên trình duyệt: http://www.w3schools.com/js/js_window_navigator.asp . Một số trang web có thể sử dụng JS để phát hiện thông tin này và gửi lại cho máy chủ. Bạn có thể sử dụng JS đơn giản để kiểm traalert(navigator.appName); alert(navigator.platform);
Lấy dấu vân tay ngăn xếp TCP / IP: triển khai TCP / IP khác nhau (ổ cắm WinSock so với Berkley) và các phiên bản HĐH khác nhau có các tùy chọn mặc định hơi khác nhau. Một số heuristic có thể được sử dụng để phát hiện họ hệ điều hành. Đây là cách tiếp cận theo kiểu hacker và rất hiếm khi được sử dụng: https://en.wikipedia.org/wiki/TCP/IP_stack_fingerprinting
JavaScript hiện đại cũng có thể báo cáo vị trí của bạn (như GPS) thông qua API vị trí địa lý, nhưng nó luôn hỏi bạn có muốn cung cấp thông tin này cho Máy chủ hay không: http://www.w3schools.com/html/html5_geolocation.asp
Nhân tiện, không phải lúc nào máy chủ cũng có thể tìm thấy IP thật của bạn. Trong trường hợp proxy, proxy có thể gửi IP thực của bạn đến máy chủ (sử dụng X-Real-IPhoặc X-Forwarded-Fortiêu đề), nhưng không phải như vậy. Và bạn thậm chí có thể không có IP công khai nếu NAT được cấu hình trên bộ định tuyến của bạn. Trong trường hợp này, máy chủ sẽ chỉ biết IP công cộng của bộ định tuyến của bạn và có thể toàn bộ văn phòng (vài trăm người) dưới một IP xung.