2015-04-16 15 views

Trả lời

9

Máy ảo có hai bộ điều hợp mạng trong cấu hình VirtualBox cơ bản. Mà một trong những bạn nên nắm bắt trên phụ thuộc vào những gì bạn đang tìm kiếm. Ngoài ra, một số chi tiết (tên bộ điều hợp, v.v.) phụ thuộc vào hệ điều hành bạn đang sử dụng. Tuy nhiên, các khái niệm giống hệt nhau.

Adaptor 1, thường vboxnet0 nếu bạn đang ở trên Ubuntu, là một bộ chuyển đổi máy chủ chỉ được sử dụng để hỗ trợ địa phương tương tác giữa máy chủ và máy ảo. Trong thiết lập mặc định của Ubuntu, đây là mạng 192.168.56.0. Máy chủ là 192.168.56.1 và VM thường kết thúc bằng cách nhận 192.168.56.101 từ máy chủ DHCP tích hợp của VirtualBox. Kết nối này được sử dụng bởi Cầu gỡ lỗi Android (ADB) để kết nối các công cụ phát triển với máy ảo. Ví dụ, đây là cách Eclipse ADT và Android Studio có thể giao tiếp với máy ảo để cài đặt APK, v.v. Khi bạn thực hiện adb shell bạn cũng đang kết nối qua mạng này. Nếu bạn muốn kiểm tra xem các công cụ dev của bạn đang giao tiếp với máy ảo của bạn như thế nào, hãy chụp trên vboxnet0 (hoặc tương đương).

Bộ chuyển đổi 2 thường được NATED kết nối mạng của máy chủ, thường là eth0 hoặc wlan0 trên Ubuntu. Điều này cho phép truy cập Internet cho máy ảo. Nếu bạn muốn xem VM của bạn tương tác với mạng cục bộ hoặc Internet như thế nào, hãy chụp lại bộ điều hợp mạng chính của máy chủ. Thật không may, khi máy ảo được NAT, lưu lượng VM của bạn sẽ có cùng địa chỉ IP với máy chủ của bạn, khiến cho việc lọc khó khăn. Nếu điều này gây ra sự cố, hãy tắt máy ảo của bạn, mở VirtualBox trực tiếp (tức là không có trình khởi chạy Genymotion), thay đổi Bộ điều hợp 2 thành "Bộ chuyển đổi cầu nối" và chọn bộ điều hợp lưu trữ hiện hoạt trong cấu hình mạng của máy ảo. Nếu mạng LAN cục bộ của bạn sử dụng DHCP (có khả năng), điều này sẽ cho phép VM nhận được IP riêng của nó mà bạn có thể lọc trong Wireshark.Khi bạn khởi động lại VM (từ Trình khởi chạy Genymotion), bạn có thể tìm ra địa chỉ nào được gán với adb shell ifconfig từ máy chủ. Tìm kiếm eth1 tương ứng với Bộ điều hợp VIrtualBox 2 (eth0 dành cho kết nối adb trên Bộ điều hợp VirtualBox 1).

+1

Cảm ơn bạn đã mô tả về bộ điều hợp. Tôi muốn nắm bắt thông điệp mạng của máy ảo Andorid, do đó, dựa trên nhận xét của bạn, tôi đã thay đổi Adapter 2 thành Bridged trong VirtualBox. Sau khi sử dụng Bridged Adapter, Android không thể kết nối với WiredSSID (không có tên bộ điều hợp). – b4l4zs

+0

Mạng của bạn có được kết nối để sử dụng DHCP không? –

+0

Có, DHCP được bật trên bộ định tuyến. – b4l4zs

-1

Nếu bạn sử dụng Genymotion, lưu lượng truy cập giữa Máy chủ (nghĩa là máy của bạn) và Khách (ví dụ Trình mô phỏng âm thanh) rất đơn giản.

  1. Như Gennymotion sử dụng VirtualBox để tạo ra môi trường ảo, bạn có thể tìm vboxnet0 giao diện liệt kê trong Wireshark, chọn nó và ghi lại tất cả lưu lượng chảy giữa Khách (Genymotion) và Host (hệ thống của bạn).

WireShark Interface List

  1. Trong trường hợp nếu bạn dnt muốn sử dụng Wireshark để giám sát giao thông, bạn cũng có thể sử dụng Fiddler và cấu hình các thiết lập proxy trong Genymotion (Thêm bước Proxy tài liệu trong Genymotion docs) về phía Fiddler-running machine IP address and port.

  2. Và trong Fiddler để thu giữ lưu lượng truy cập, hãy thực hiện cài đặt này: Tools menu > Fiddler Options > Connections và đánh dấu vào số Allow Remote Computers to connect box, thay vì khởi động lại Fiddler.

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