Thông số Captive Portal


9

một số thông số cổng bị khóa có thể áp dụng cho thiết bị Android thông qua settings put global- nổi tiếng nhất có lẽ là

settings put global captive_portal_detection_enabled 0

để tắt hoàn toàn kiểm tra cổng bị khóa (đối với Android <8). Ai đó có thể giải thích cách sử dụng những người khác - ví dụ: để xác định "máy chủ cổng bị khóa tùy chỉnh cho lá thiếc" không? Ví dụ, người ta không thể đơn giản làm một

settings put global captive_portal_server example.com

vì trong hầu hết các trường hợp, điều đó sẽ khiến việc kiểm tra cổng bị khóa bị lỗi vĩnh viễn (nền: làm như vậy, kiểm tra cổng sẽ tạo một URL http://example.com/generate_204và kiểm tra lại điều đó, mong đợi một phản hồi cụ thể).

Vì vậy, ngoài việc đơn giản là hủy kích hoạt cổng bị khóa, hãy kiểm tra hoàn toàn (có thể, như tôi đã đọc, dẫn đến các vấn đề khác như không được chuyển hướng đến cổng thông tin chính xác trong một số trường hợp), người ta có thể làm gì khác để tăng cường quyền riêng tư trong ngữ cảnh này?

Ví dụ (nếu tôi hiểu đúng):

  • captive_portal_mode (Android 8+?):
    • 0: Đừng cố gắng phát hiện các cổng bị giam cầm
    • 1: Nhắc người dùng đăng nhập
    • 2: Ngắt kết nối ngay lập tức khỏi mạng và không kết nối lại với mạng đó trong tương lai
  • captive_portal_detection_enabled (Android <8?):
    • 0: Hoàn toàn vô hiệu hóa kiểm tra cổng bị khóa
    • 1: Kích hoạt nó (mặc định)

Trong khi các ví dụ này khá đơn giản: Làm thế nào để sử dụng các tham số khác?

Câu trả lời:


11

Cấu hình hành vi cổng bị khóa

  • captive_portal_detection_enabled (<= Android 7.1.1)
    • hoạt động như mô tả trong cơ thể câu hỏi
  • captive_portal_mode (> = Android 7.1.2)
    • hoạt động như mô tả trong cơ thể câu hỏi

Đặt (các) URL cổng bị khóa

  • captive_portal_server (<= Android 6.0.1)
    • Máy chủ chứa một generate_204trang, được sử dụng để tạo nội bộ URL để phát hiện cổng bị khóa ( new URL("http", mServer, "/generate_204");- lỗi thời kể từ Android 7.0, xem bên dưới)
  • captive_portal_use_https (> = Android 7.0)
    • 0: Không sử dụng HTTPS để xác thực mạng
    • 1: Sử dụng HTTPS (mặc định)
  • captive_portal_http_url (> = Android 7.0)
    • URL được sử dụng để phát hiện cổng bị khóa HTTP - sử dụng theo cặp với captive_portal_use_https(được đặt thành 0)
    • > = Android 7.1.1: Hệ điều hành không còn generate_204tự động thêm vào URL, giúp URL đầu vào linh hoạt hơn
  • captive_portal_https_url (> = Android 7.0)
    • URL được sử dụng để phát hiện cổng bị khóa HTTPS - sử dụng theo cặp với captive_portal_use_https(được đặt thành 1)
    • > = Android 7.1.1: Hệ điều hành không còn generate_204tự động thêm vào URL

Yêu cầu cho URL được sử dụng

Mã phản hồi HTTP 204 ("không có nội dung") từ máy chủ được sử dụng để xác thực, không cần thêm nội dung: lấy ví dụ về URL phát hiện mặc định, curl clients3.google.com/generate_204trả về sản phẩm nào và kiểm tra phản hồi HTTP bằng cách thêm --write-out %{http_code}trả về 204. '

Một danh sách nhỏ các URL máy chủ cổng bị khóa có thể sử dụng ở Trung Quốc đại lục (đã được thử nghiệm cá nhân)

https://captive.v2ex.co/generate_204 (được lưu trữ bởi v2ex.com)

https://connect.rom.miui.com/generate_204 (được lưu trữ bởi Xiaomi, được sử dụng theo mặc định trên MIUI)

https://noisyfox.cn/generate_204 (được lưu trữ bởi noisyfox.cn)

https://www.google.cn/generate_204 & https://developers.google.cn/generate_204 (được lưu trữ bởi Google)

https://www.qualcomm.cn/generate_204 (được lưu trữ bởi Qualcomm)

Ghi chú thêm

Nguồn tin cũng đề cập đến các thông số captive_portal_user_agent, captive_portal_fallback_urlcaptive_portal_other_fallback_urls:

  • captive_portal_fallback_url (> = Android 7.1.1) rõ ràng được cho là giữ một URL, trong khi
  • captive_portal_other_fallback_urls giữ nhiều URL hơn nữa (danh sách được phân tách bằng dấu phẩy, vì vậy các URL có thể không chứa bất kỳ dấu phẩy nào).

Nhưng cá nhân tôi đã tiến hành thử nghiệm trên Android 8.0.0 và cả hai tham số dự phòng đều không hoạt động. Giả sử bây giờ họ đang khai báo mà không thực hiện.

Một số ví dụ về cài đặt cổng bị khóa của Android tại Trung Quốc cho thấy việc sử dụng một số cài đặt ở trên:

cài đặt shell adb đặt captive_portal_http_url toàn cầu http://www.google.cn/generate_204
cài đặt shell adb đặt captive_portal_https_url https://www.google.cn/generate_204 toàn cầu
cài đặt shell adb đặt captive_portal_fallback_url toàn cầu http://www.google.cn/generate_204
cài đặt shell adb đặt captive_portal_other_fallback_urls toàn cầu http://www.qualcomm.cn/generate_204

Biết rằng, "lá thiếc" thậm chí có thể thiết lập dịch vụ xác minh của riêng họ. Với Apache:

RewriteEngine On
RewriteCond% {REQUEST_URI} / created_204 $
RewriteRule $ / [R = 204, L]

hoặc với Nginx:

location / created_204 {return 204; }

Người giới thiệu

1 , 2 (Trung Quốc), 3 (Trung Quốc)


1
Bài đăng liên quan - và ít nhất là với MM, đoạn mã sau được sử dụng: new URL("http", mServer, "/generate_204");(với mServerviệc được khởi tạo bởi captive_portal_serverif set) - vì vậy đây chỉ là tên máy chủ (hoặc IP) ở đó (rất có thể là một trong những lý do khiến tôi thất bại trên thiết bị MM). Không chắc chắn khi nào nó thay đổi - nhưng từ những gì bạn viết có lẽ với N. Đối với 204, tôi đã tìm thấy điều này - vì vậy có vẻ như tôi đã giả định chính xác: chỉ là mã 204, không có nội dung.
Izzy

@Izzy Thật không may, 2 tùy chọn dự phòng dường như không hoạt động. Sử dụng mặc định captive_portal_https_urlvà đặt URL có thể truy cập vào captive_portal_fallback_urlsẽ không loại bỏ dấu chéo và cũng tương tự như vậy khi đặt vào captive_portal_other_fallback_urls- Đặt captive_portal_https_urlthẳng là cách duy nhất. Lưu ý rằng các bài kiểm tra được tiến hành theo LTE thay vì WiFi, vì một số lý do, WiFi trường học của tôi sẽ luôn hướng tôi đến cổng bị khóa ngay cả khi tôi đặt URL hoàn toàn không hợp lệ.
Andy Yan

Các tham số dự phòng đó có thể đã được giới thiệu với Oreo (lưu ý chúng tôi đã xem mã Oreo để tìm chúng). Đoán bạn đã kiểm tra trên Nougat, phải không? // Ý tưởng tốt để bao gồm một danh sách máy chủ nhỏ. AFAIK cũng g.cncó sẵn;)
Izzy

1
@Izzy Oh yeah, không nhận ra rằng, tôi chưa flash bất kỳ thiết bị nào của mình với LOS15. Có thể đáng để kiểm tra, và nếu nó hoạt động tôi sẽ cập nhật và ping bạn để dọn dẹp các bình luận. Ngoài ra, chứng chỉ HTTPS của g.cn được cho là đã hết hạn ở đại lục, do đó, HTTPS không còn sử dụng được nữa. // Nhưng chờ đã ... Mã nguồn 7.1.2 cũng chứa tham chiếu đến captive_portal_fallback_url.
Andy Yan

Giống như nhiều tính năng mới, các tham chiếu đôi khi bật lên trước khi tính năng hoàn tất. Và các tập tin được tham chiếu chủ yếu xác định các hằng số, không phải chức năng, phải không?
Izzy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.