Làm cách nào để chuyển tiếp internet bằng Android Hotspot sang PC?


9

Tôi có một chiếc Moto G3 Turbo với Android 6.0.1 Marshmallow. Tôi sử dụng điện thoại để tạo điểm phát WiFi để có thể sử dụng internet trên máy tính xách tay của mình.

Tôi đã có thể thực hiện Metasploit thành công qua mạng WAN / Internet và vì thế tôi cần chuyển tiếp sang máy tính xách tay của mình. Nhưng vấn đề là, tôi không có modem hay bộ định tuyến nào để thực sự cài đặt đăng nhập bằng mật khẩu quản trị viên hay bất cứ thứ gì tương tự.

Tôi có thể làm gì? Có ứng dụng nào có thể làm điều này và liệu nó có cần sự cho phép root không?


1
Nói chung, bạn không thể, không phải vì Android không có khả năng, mà bởi vì các nhà mạng nói chung không cho phép lưu lượng truy cập vào bất kỳ loại nào đối với thiết bị di động. Bạn có thể nhận được địa chỉ IP từ nhà cung cấp dịch vụ của mình, nhưng đó chỉ là lưu lượng truy cập đi, lưu lượng truy cập không mong muốn (loại bạn cần chuyển tiếp cổng) gần như luôn bị chặn bởi mọi nhà mạng trên toàn thế giới. Thêm vào đó, hầu hết các nhà mạng đều không cung cấp cho bạn IP công khai, vì vậy ngay cả khi bạn đã chuyển tiếp cổng hoạt động, bạn vẫn không thể sử dụng nó.
acejavelin

Điều đó không đúng, nếu ứng dụng của bạn không thể nhận được lưu lượng truy cập trong nước, làm thế nào bạn nhận được tin nhắn đến điện thoại của mình.
Shawn Thomas Rheal

2
@ShawnThomasRheal bằng cách mở một kết nối ra ngoài và giữ cho nó mở để trả lời. Đó là những gì hầu hết các ứng dụng sử dụng GCM cho - vì vậy không phải mọi ứng dụng đều phải mở kết nối riêng.
Izzy

Câu trả lời:


2

Trong hầu hết các trường hợp, bạn sẽ không thể thực hiện kết nối trong khi sử dụng Dữ liệu di động do CGNAT và tường lửa ở cấp độ ISP, như acejavelin đã giải thích trong nhận xét. Để biết chi tiết vấn đề và cách khắc phục sự cố, hãy xem Cách kết nối với Android thông qua SSH qua IP công cộng 3G / 4G?

Tuy nhiên, nếu bạn có thể liên lạc với điện thoại của mình từ internet, việc mở rộng quyền truy cập này đến máy chủ được kết nối (PC trong trường hợp của bạn) không phải là vấn đề. Chuyển tiếp cổng được thực hiện với các bộ định tuyến và khi được sử dụng làm điểm phát sóng Wi-Fi (hoặc kết nối với USB), điện thoại của bạn thực tế hoạt động như một bộ định tuyến.

GIẢI PHÁP ROOT:

Để chuyển tiếp cổng, bạn cần thực hiện Dịch địa chỉ đích ( DNAT ) bằng công cụ không gian người dùng tường lửa dựng sẵn của nhân Linux iptables.

Trước tiên, hãy đảm bảo rằng kernel được cấu hình để chuyển tiếp lưu lượng truy cập internet (đã được đặt khi hotspot được BẬT):

~# echo 1 >/proc/sys/net/ipv4/ip_forward

Giả sử địa chỉ IP được gán bởi hotspot cho PC là 192.168.43.10và bạn muốn chuyển tiếp cổng mặc định SSH ( 22):

~# iptables -t nat -I PREROUTING -p tcp --dport 22 -j DNAT --to 192.168.43.10

Đây là hình thức đơn giản nhất của Chuyển tiếp cổng.

Nếu CHÍNH SÁCH mặc định của chuỗi FORWARD trong bảng LỌC không được CHẤP NHẬN, hãy xác định rõ các quy tắc để chấp nhận các gói được chuyển tiếp:

~# iptables -I FORWARD -p tcp -d 192.168.43.10 --dport 22 -j ACCEPT

Cũng chấp nhận lưu lượng chuyển tiếp đi nếu cần.

GIẢI PHÁP KHÔNG ROOT:

Trên các thiết bị chưa root, bạn có thể sử dụng adbhoặc một số máy chủ TCP / UDP tối thiểu khác như netcathoặc socatđể chuyển tiếp cổng. Lưu ý rằng điều này sẽ không hoạt động cho các cổng dưới 1024 . Để chuyển tiếp cổng 2222:

~$ adb reverse tcp:2222 tcp:2222

Hoặc trên điện thoại:

~$ nc -lk -p 2222 -e nc 192.168.43.10 2222

* nclà một applet busybox. Nhưng chắc chắn rằng bạn sẽ có được nhị phân đúng, có nhiều triển khai của netcat.
* Sử dụng -utùy chọn để chuyển tiếp cổng UDP.

Tuy nhiên, ncchỉ chấp nhận một kết nối duy nhất tại một thời điểm. Sử dụng socathoặc ncatcho các tùy chọn nâng cao hơn, ví dụ từ Termux:

~$ socat tcp-l:2222,fork,reuseaddr tcp:192.168.43.10:2222

Xem Sử dụng netcat để chuyển tiếp cổng .

Ngoài ra còn có các ứng dụng như Fwd (đó là nguồn mở, tôi không có liên kết) có nghĩa là để chuyển tiếp cổng.


NGUỒN:

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.