2011-11-04 34 views
5

Tôi hiện đang cần gỡ lỗi liên lạc giữa ứng dụng của tôi và máy chủ. Tôi đã có thể nắm bắt được các gói tin bằng cách tung ra các giả lập với tcpdump switch:Làm thế nào tôi có thể xem trực tiếp tcpdump từ trình giả lập Android trong Wireshark trên OSX?

%emulator -tcpdump emulator.cap @MyDroid 

Vấn đề tôi có, là tôi cần phải tắt giả lập trước khi tôi có thể mở tập tin emulator.cap trong Wireshark. Nếu không, Wireshark sẽ phàn nàn rằng việc thu hình không đầy đủ. Quá trình này rất chậm. Tôi muốn có thể xem trực tiếp tệp tin emulator.cap trong Wireshark.

Có vẻ như điều này có thể thực hiện bằng cách sử dụng đường ống. Tôi đang thực hiện phát triển của mình trên OS   X và đã thử Cách 1 và Cách 2 từ hướng dẫn này: http://wiki.wireshark.org/CaptureSetup/Pipes.

Ít nhất nó cũng cho phép tôi xem ảnh chụp nhanh, nhưng tôi không nhận được lượt xem cập nhật trong thời gian thực. Nhấp vào nút làm mới trong Wireshark không cập nhật các gói được chụp. Tôi phải đóng và mở lại Wireshark để có được bản cập nhật (nhanh hơn việc khởi chạy lại trình mô phỏng).

Các bước để xem hoạt động chụp trực tiếp từ trình giả lập Android trong Wireshark trên OS   X là gì?

Trả lời

2

Bắt đầu bằng cách tạo một đường ống có tên và mở Wireshark để đọc từ đó. Sau đó, chỉ đạo tcpdump của trình giả lập để ghi vào cùng một đường ống có tên đó. Wireshark dường như nhạy cảm với việc thực hiện mọi thứ theo thứ tự này, nếu không nó sẽ khiếu nại về định dạng libcap.

Dưới đây là các lệnh:

%mkfifo /tmp/emulator 
%wireshark -k -i /tmp/emulator & 
%emulator -tcpdump /tmp/emulator @MyDroid 

Cập nhật:

Sau khi sử dụng điều này trong một thời gian ngắn, nó có vẻ là giòn. Tôi đã có Wireshark phàn nàn về một gói tin, và cách duy nhất để phục hồi là bằng cách đi qua tất cả các bước này một lần nữa. Có một giải pháp tốt hơn/mạnh mẽ hơn không?

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