Câu trả lời:
Đây là một vài gợi ý:
Đối với điện thoại Android, bất kỳ mạng nào : Root điện thoại của bạn, sau đó cài đặt tcpdump trên nó. Ứng dụng này là một trình bao bọc tcpdump sẽ cài đặt tcpdump và cho phép bạn bắt đầu chụp bằng GUI. Mẹo: Bạn sẽ cần đảm bảo cung cấp đúng tên giao diện cho bản chụp và giá trị này thay đổi từ thiết bị này sang thiết bị khác, ví dụ -i eth0 hoặc -i tiwlan0 - hoặc sử dụng -i bất kỳ để ghi nhật ký tất cả giao diện
Đối với điện thoại Android 4.0+ : Android PCAP từ Kismet sử dụng giao diện USB OTG để hỗ trợ chụp gói mà không yêu cầu root. Tôi chưa dùng thử ứng dụng này và có một số hạn chế về loại thiết bị được hỗ trợ (xem trang của họ)
Đối với điện thoại Android : tPacketCapture sử dụng dịch vụ Android VPN để chặn các gói và chụp chúng. Tôi đã sử dụng ứng dụng này thành công, nhưng dường như nó cũng ảnh hưởng đến hiệu suất với lưu lượng truy cập lớn (ví dụ: truyền phát video)
Đối với các thiết bị iOS 5+, bất kỳ mạng nào : iOS 5 đã thêm tiện ích giao diện ảo từ xa (RVI) cho phép bạn sử dụng các chương trình theo dõi gói Mac OS X để ghi lại dấu vết từ thiết bị iOS. Xem tại đây để biết thêm chi tiết
Đối với tất cả các điện thoại, chỉ có wi-fi: Thiết lập PC của bạn làm điểm truy cập không dây , sau đó chạy wireshark trên PC
Đối với tất cả các điện thoại, chỉ có wi-fi: Nhận một thiết bị chụp có thể đánh hơi được wi-fi. Điều này cũng có lợi thế là cung cấp cho bạn các tiêu đề 802.11x, nhưng bạn có thể bỏ lỡ một số gói
Chụp bằng máy chủ VPN : Khá dễ dàng để thiết lập máy chủ VPN của riêng bạn bằng OpenVPN. Sau đó, bạn có thể định tuyến lưu lượng truy cập của mình qua máy chủ bằng cách thiết lập thiết bị di động dưới dạng máy khách VPN và nắm bắt lưu lượng ở cuối máy chủ.
Ngoài câu trả lời tuyệt vời của rupello, một mẹo "bẩn" nhưng rất hiệu quả:
Đối với tất cả các điện thoại, bất kỳ mạng (cục bộ) nào : Thiết lập PC của bạn thành Man-In-The-Middle thiết bị di động của bạn.
Sử dụng Ettercap để thực hiện giả mạo ARP giữa thiết bị di động và bộ định tuyến của bạn và tất cả lưu lượng truy cập trên thiết bị di động của bạn sẽ xuất hiện trong Wireshark. Xem hướng dẫn này để biết chi tiết thiết lập
Một tùy chọn khác chưa được đề xuất ở đây là chạy ứng dụng bạn muốn theo dõi trong trình giả lập Android từ SDK Android. Sau đó, bạn có thể dễ dàng nắm bắt lưu lượng truy cập với wireshark trên cùng một máy.
Đây là lựa chọn dễ nhất cho tôi.
Wireshark + OSX + iOS:
Tổng quan tuyệt vời cho đến nay, nhưng nếu bạn muốn thông tin cụ thể cho Wireshark + OSX + iOS:
rvictl -s x
nơi x
là UDID của thiết bị iOS của bạn. Bạn có thể tìm thấy UDID của thiết bị iOS của mình thông qua iTunes (đảm bảo bạn đang sử dụng UDID chứ không phải số sê-ri).Capture->Options
, một hộp thoại xuất hiện, nhấp vào dòng rvi0
sau đó nhấn Start
nút.Bây giờ bạn sẽ thấy tất cả lưu lượng truy cập mạng trên thiết bị iOS. Nó có thể là khá áp đảo. Một vài gợi ý:
ip.addr==204.144.14.134
xem lưu lượng truy cập với một địa chỉ nguồn hoặc đích là 204.144.14.134http
chỉ xem lưu lượng truy cập httpĐây là một cửa sổ mẫu mô tả lưu lượng TCP để tải xuống pdf từ 204.144.14.134:
Đối với điện thoại Android, tôi đã sử dụng tPquetCapture: https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.pquetcapture&hl=vi
Ứng dụng này là cứu cánh mà tôi đã gỡ lỗi khi gặp sự cố bắt tay SSL / TLS trên ứng dụng Android của mình. Đã thử thiết lập mạng ad hoc để tôi có thể sử dụng wireshark trên máy tính xách tay của mình. Nó không làm việc cho tôi. Ứng dụng này nhanh chóng cho phép tôi nắm bắt lưu lượng mạng, chia sẻ nó trên Google Drive để tôi có thể tải xuống trên máy tính xách tay của mình, nơi tôi có thể kiểm tra nó với Wireshark! Tuyệt vời và không cần root!
Ứng dụng Packet Capture Android thực hiện VPN ghi lại tất cả lưu lượng truy cập mạng trên thiết bị Android. Bạn không cần thiết lập bất kỳ máy chủ VPN / proxy nào trên PC. Không cần root. Hỗ trợ giải mã SSL mà tPquetCapture không có. Nó cũng bao gồm một trình xem nhật ký tốt.
Cài đặt Fiddler trên PC của bạn và sử dụng nó làm proxy trên thiết bị Android của bạn.
Nguồn: http://www.cantoni.org/2013/11/06/capture-android-web-traffic-fiddler
Tương tự như làm cho PC của bạn trở thành điểm truy cập không dây, nhưng có thể dễ dàng hơn nhiều, đó là sử dụng tính năng chia sẻ ngược. Nếu bạn tình cờ có một chiếc điện thoại HTC, họ có một tùy chọn kết nối ngược đẹp mắt gọi là "Truyền qua Internet", trong cài đặt chia sẻ mạng / mạng di động. Nó định tuyến tất cả lưu lượng truy cập của bạn thông qua PC và bạn chỉ có thể chạy Wireshark ở đó.
Biến máy tính xách tay của bạn thành một điểm phát wifi cho điện thoại của bạn (bất kỳ) và kết nối nó với internet. Lưu lượng truy cập trên giao diện wifi của bạn bằng cách sử dụng wireshark.
bạn sẽ nhận được rất nhiều công cụ chống riêng tư!
Điều kiện tiên quyết: adb và wireshark được cài đặt trên máy tính của bạn và bạn có một thiết bị Android đã root.
adb push ~/Downloads/tcpdump /sdcard/
adb shell
su root
mv /sdcard/tcpdump /data/local/
cd /data/local/
chmod +x tcpdump
./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap
CTRL+C
sau khi bạn đã bắt đủ các gói.exit
exit
adb pull /sdcard/dump.pcap ~/Downloads/
Bây giờ bạn có thể mở tệp pcap bằng Wireshark.
Đối với Android , trước đây tôi đã sử dụng tPacketCapture nhưng nó không hoạt động tốt cho một ứng dụng phát trực tuyến một số video. Tôi hiện đang sử dụng Shark . Bạn cần phải root để sử dụng nó mặc dù.
Nó sử dụng TCPDump (kiểm tra các đối số bạn có thể vượt qua ) và tạo tệp pcap có thể được đọc bởi Wireshark. Các đối số mặc định thường là đủ tốt cho tôi.
Tôi gặp vấn đề tương tự đã truyền cảm hứng cho tôi để phát triển một ứng dụng có thể giúp nắm bắt lưu lượng truy cập từ thiết bị Android. Ứng dụng có tính năng máy chủ SSH cho phép bạn có lưu lượng truy cập trong Wireshark một cách nhanh chóng ( thành phần sirdark wireshark ). Vì ứng dụng sử dụng tính năng HĐH có tên VPNService để nắm bắt lưu lượng, nên nó không yêu cầu quyền truy cập root.
Ứng dụng này đang ở giai đoạn đầu Beta. Nếu bạn có bất kỳ vấn đề / đề xuất nào, đừng ngần ngại cho tôi biết.