2015-06-01 14 views
6

Tôi có một máy vi tính được thiết kế để hiển thị cho khách hàng trang cổng thông tin khi họ đăng nhập vào mạng Wi-Fi.Trang Cổng bị khóa với MITM

Vấn đề là vì một lý do nào đó họ không nhận được cửa sổ bật lên thông thường từ điện thoại/máy tính ở đâu khi tôi làm như vậy với bộ định tuyến của tôi, nó hoạt động.

Tôi đang thực hiện toàn bộ quá trình bằng cách chuyển tất cả yêu cầu dns sang mạng cục bộ (ví dụ: 10.0.0.2).

Khi truy cập trình duyệt, họ sẽ nhận được trang cổng thông tin nhưng hành vi bị thiếu. (kết nối với Wi-Fi sau đó một popup tự động xuất hiện nói rằng bạn cần phải đăng nhập vào mạng).

trên apache cục bộ tôi có tệp index.php đơn giản với mã trạng thái 401 (trái phép).


Các vi máy tính được kết nối thông qua cổng Ethernet đến router, và tôi có toàn quyền kiểm soát của các bộ định tuyến, nhưng tôi muốn các captive portal được quản lý từ các-vi máy tính riêng của mình, đó là lý do tại sao tôi không sử dụng các cổng bị khóa dựa trên bộ định tuyến.

Tal.

+1

Bạn sẽ cần điểm truy cập WiFi của mình tới máy tính khác qua DHCP/DNS. Thiết lập điều đó là nhiều hơn một câu hỏi cấu hình máy chủ (so với lập trình) và sẽ được yêu cầu tốt hơn ở nơi khác. –

+0

Tôi đang thực hiện chương trình đó tại sao lại hỏi tại đây. Tôi có một proxy dns python trỏ tất cả các yêu cầu đến máy chủ apache của máy tính của tôi, hiển thị trang đăng nhập hotspot, nhưng không có gì được kích hoạt trên các thiết bị. (không có "bạn cần phải đăng nhập" tin nhắn, mặc dù các proxy dns hoạt động hoàn hảo). – Jentel

Trả lời

0

Giải pháp:

Khả năng 1:

Bạn cần có một cấu hình rất cụ thể trên router của bạn bởi vì anh ta là chuyển tiếp sang máy tính vi tính của bạn, cộng với khi tôi đoán máy vi tính của bạn sẽ truy cập internet qua bộ định tuyến, bạn cũng cần thực hiện điều đó trong việc xem xét

  • Disable dịch vụ DNS trên router của bạn
  • Set DNS trên router của bạn để 10.0.0.2
  • Disable cửa ngõ vào Internet trên router của bạn hoặc đặt nó là 10.0.0.2
  • Đặt tất cả các máy chủ thực/gateway bằng tay trên Micro-Computer của bạn, và các tuyến đường cũng rất quan trọng trong trường hợp này.

Khả năng 2:

Đừng quên rằng một số thiết bị đã DNS của họ thiết lập bằng tay hoặc với cấu hình mạng cụ thể hoặc có một tường lửa cụ thể mà xem là hiếm DNS server/yêu cầu sau đó bạn phải xem xét, giải pháp tốt nhất để tránh điều đó là chạy DNS Server trên cổng ip, điều đó có nghĩa là DHCP Server của bạn cần có trên Mini-Computer hoặc sử dụng cổng trên Mini-Computer hoặc sử dụng khả năng 3 .. Điều này ngụ ý kiểm tra gateway mà bạn đang sử dụng, tôi đoán đó là gateway của router. Ngoài ra, bạn có thể có xung đột giữa công việc định tuyến và Công việc vi tính, và xung đột ip như giao tiếp giữa máy khách và Micro-Computer bị chặn trong một số trường hợp, sau đó kiểm tra cấu hình ip của bạn.

Khả năng 3:

Nếu router của bạn được mã nguồn mở ou mã nguồn mở mui trần bạn có thể sử dụng DDWRT hoặc OpenWRT để quản lý hotspot của bạn có rất nhiều điểm nóng có thể cấu hình chỉ trong vài nhấp chuột và bạn có thể liên kết chúng với máy chủ Micro-Máy tính của bạn cho người dùng cơ sở dữ liệu hoặc dns hoặc proxy hoặc dhcp hoặc chuyển hướng yêu cầu tới Máy vi tính của bạn hoặc bất kỳ thứ gì.

Khả năng 4:

Có một cái nhìn tại MITM này Guide và kiểm tra xem bạn đang thiếu một cái gì đó

Lưu ý:

Nếu câu trả lời của tôi đã không giúp đỡ xin vui lòng cung cấp nhiều thông tin gỡ lỗi kỹ thuật hơn vì chỉ mô tả cấu hình mà chúng tôi không biết nhiều ... i'l Tôi rất vui được giúp đỡ:) ... cũng cung cấp cho cấu hình đầy đủ của mạng của bạn có vẻ như đó là một vấn đề mạng.

+0

Tôi có thể liên lạc với bạn bên ngoài luồng không? Tôi có một câu hỏi cụ thể mà tôi không muốn hỏi ở đây. cảm ơn. – Jentel

0

Câu hỏi của bạn không rõ ràng đối với tôi.

Bạn đang sử dụng trình duyệt trên điện thoại/máy tính hoặc ứng dụng? Bạn có thể cung cấp ảnh chụp màn hình về hành vi mong muốn không?

Tôi sẽ cố gắng trả lời từ những gì tôi nghĩ rằng bạn đang yêu cầu: Đối với trình duyệt, bạn có thể sử dụng DNS hoặc ICMP để chuyển hướng khách hàng đến Cổng Captive của bạn. ICMP là giao thức lớp 3 và một số nền tảng (như Android) có thể tự động kích hoạt thông báo gốc cho người dùng, như "Xin chào, bạn cần đăng nhập". Nhưng chuyển hướng DNS sẽ không kích hoạt tính năng này, nó sẽ yêu cầu tương tác người dùng với trình duyệt sau khi kết nối với mạng. Họ sẽ mở trình duyệt, thử truy cập stack overflow.com và chuyển hướng đến cổng bị khóa của bạn.

Ngoài ra, đối với một ứng dụng trên Android, bạn phải kiểm tra kết nối URL. Dưới đây là một ví dụ lấy từ AOSP:

private static final String mWalledGardenUrl = "http://clients3.google.com/generate_204"; 
private static final int WALLED_GARDEN_SOCKET_TIMEOUT_MS = 10000; 

private boolean isWalledGardenConnection() { 
    HttpURLConnection urlConnection = null; 
    try { 
     URL url = new URL(mWalledGardenUrl); // "http://clients3.google.com/generate_204" 
     urlConnection = (HttpURLConnection) url.openConnection(); 
     urlConnection.setInstanceFollowRedirects(false); 
     urlConnection.setConnectTimeout(WALLED_GARDEN_SOCKET_TIMEOUT_MS); 
     urlConnection.setReadTimeout(WALLED_GARDEN_SOCKET_TIMEOUT_MS); 
     urlConnection.setUseCaches(false); 
     urlConnection.getInputStream(); 
     // We got a valid response, but not from the real google 
     return urlConnection.getResponseCode() != 204; 
    } catch (IOException e) { 
     if (DBG) { 
      log("Walled garden check - probably not a portal: exception " 
        + e); 
     } 
     return false; 
    } finally { 
     if (urlConnection != null) { 
      urlConnection.disconnect(); 
     } 
    } 
} 
+0

Cảm ơn bạn đã trả lời, hãy tin tôi rằng tôi hiểu chủ đề một cách hoàn hảo. khi thực hiện nó từ bên trong bộ định tuyến (cổng bị khóa bằng cách kích hoạt DNS) tự động khi kết nối với điểm phát sóng, một thông báo sẽ được đẩy tới thiết bị. khi thực hiện nó với ứng dụng MITM, nó không. Tôi đang làm nó với một máy tính, kết nối với router bằng cáp Ethernet. – Jentel

+0

Sẽ hữu ích khi xem mã của bạn khi sự kiện được kích hoạt. Tôi muốn nghi ngờ một vấn đề với kịch bản của bạn hoặc một bức tường lửa một nơi nào đó thả sự kiện. – Cookster

+0

Tôi đã kiểm tra nó, nhận được vào MITM, ping'ed cho tất cả các trang web, tất cả trong số họ trở về ví dụ 192.168.2.100 (đó là apache địa phương của tôi). đi vào trình duyệt tôi nhận được kết quả thích hợp (apache địa phương của tôi) - nhưng không có gì kích hoạt "bạn cần phải đăng nhập để có được kết nối internet" – Jentel

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