iPhone에서 네트워크 트래픽을 어떻게 모니터링합니까?
우리는 iPhone에서 타사와 파트너 관계를 맺기 전에 타사 응용 프로그램을 테스트하는 데 사용할 Wireshark와 유사한 도구를 찾고 있습니다. 어떤 제안?
다른 답변에서 제안한 것처럼 중간자 프록시는 HTTP / HTTPS 트래픽 만보고 싶은 경우 좋은 솔루션입니다.
패킷 스니핑을위한 최고의 솔루션 ( 시뮬레이터가 아닌 실제 iOS 장치 에서만 작동 함 )은 rvictl
. 이 블로그 게시물 에는 멋진 글이 있습니다. 기본적으로 다음을 수행합니다.
rvictl -s <iphone-uid-from-xcode-organizer>
그런 다음 Wireshark (또는 좋아하는 도구)를 사용하여 생성 한 인터페이스를 스니핑하고 완료되면 다음을 사용하여 인터페이스를 종료합니다.
rvictl -x <iphone-uid-from-xcode-organizer>
시뮬레이터를 패킷 스니핑하려면 로컬 Mac으로 트래픽을 이동해야하지만 rvictl
USB에 연결 한 iOS 장치의 트래픽 만 보여주는 가상 인터페이스를 생성하기 때문에 좋습니다. 포트.
참고 : 이것은 Mac에서만 작동합니다.
사용하는 플랫폼을 지정하지 않았으므로 Mac이라고 가정합니다 ;-)
내가하는 일은 프록시를 사용하는 것입니다. Squid 의 독립 실행 형 구현 인 SquidMan을 사용합니다.
Mac에서 SquidMan을 시작한 다음 iPhone에서 일반 / Wi-Fi 설정에 프록시 매개 변수를 입력합니다.
그런 다음 콘솔 앱에서 squid-access.log를보고 HTTP 트래픽을 볼 수 있습니다.
더 많은 정보가 필요하면 tcpdump로 전환하지만 WireShark도 작동해야한다고 생각합니다.
비용이 많이 드는 Charles Web Debugging Proxy를 사용 하지만 평가판이 있습니다.
iPhone / iPad가 Mac과 동일한 Wi-Fi 네트워크를 공유하는 경우 설정이 매우 간단합니다.
- Mac에 Charles 설치
- Mac의 IP 주소 가져 오기-Mac "네트워크 유틸리티"사용
- iPhone / iPad에서 Wi-Fi 설정을 열고 "HTTP 프록시"에서 수동으로 변경하고 (2) 단계의 IP를 입력 한 다음 포트를 8888 (Charles 기본 포트)로 입력합니다.
- Charles를 열고 프록시 설정 대화 상자에서 "Mac OS X 프록시 활성화"및 "HTTP 프록시 사용"이 선택되어 있는지 확인합니다.
- 이제 Charles 내에서 트래픽이 나타나는 것을 볼 수 있습니다.
- HTTPS 트래픽을 확인하려면 추가 2 단계를 수행하여 Charles Certificate Bundle을 다운로드 한 다음 .crt 파일을 iPhone / iPad에 이메일로 보내고 설치해야합니다.
- 프록시 설정 대화 상자 SSL 탭에서 포트 443으로 스니핑 할 특정 https 최상위 도메인을 추가합니다.
Mac과 iOS 기기가 동일한 Wi-Fi 네트워크에 있지 않은 경우 시스템 환경 설정의 공유 아래에있는 "인터넷 공유"옵션을 사용하여 Mac을 Wi-Fi 라우터로 설정할 수 있습니다. 그런 다음 장치를 해당 "Wi-Fi"네트워크에 연결하고 위의 단계를 따릅니다.
프록시를 통해 실행하고 Wireshark를 사용하여 트래픽을 모니터링합니다 .
Mac OS X의 경우
- Charles 프록시 설치
- Charles에서 프록시> 프록시 설정으로 이동합니다. HTTP 프록시 포트 (기본적으로 8888)가 표시되어야합니다.
Windows의 경우
- Fiddler2 설치
- 도구-> Fiddler 옵션-> 연결 및 "원격 컴퓨터 연결 허용"을 선택합니다.
일반 설정
- Go to Settings > Wifi > The
i
symbol > At the bottom Proxy > Set to manual and then for the server put the computer you are working on IP address, for port put 8888 as that is the default for each of these applications
ARP Spoofing
General notes for the final section, if you want to sniff all the network traffic would be to use ARP spoofing to forward all the traffic from your iOS to a laptop/desktop. There are multiple tools to ARP spoof and research would need to be done on all the specifics. This allows you to see every ounce of traffic as your router will route all data meant for the iOS device to the laptop/desktop and then you will be forwarding this data to the iOS device (automatically).
Please note I only recommend this as a last resort.
요구 사항이 무엇인지 정확히 알지 못한 채 iPhone에서 팩트가 지나가는 것을 확인하기 위해 다음과 같이했습니다. 이더넷에서 Mac을 연결하고 공항을 통해 네트워크를 공유하고 iPhone을 해당 무선 네트워크에 연결합니다. Mac에서 Wireshark 또는 Packet Peeper를 실행합니다.
탈옥 된 iPhone / iPod에서 트래픽 캡처는 cydia 저장소에서 사용할 수있는 "tcpdump"와 "pirni"모두에 의해 잘 수행됩니다. 이러한 데이터의 분석은 캡처를 다른 시스템으로 전송하고 wireshark와 같은 것을 사용하여 수행됩니다. 그러나 이러한 도구로 진행되는 것으로 보이는 적극적인 개발을 고려할 때 곧 iPhone이 모든 것을 처리 할 수 있습니다.
내가 찾은 최고의 솔루션은 다음과 같습니다.
USB를 통해 장치 연결
그리고 다음 명령을 입력하십시오.
rvictl -s UDID-(장치 ID 20 자, iTunes에서 4t 또는 Xcode에서 Organizer에서 찾을 수 있음)
sudo launchctl list com.apple.rpmuxd
sudo tcpdump -n -t -i rvi0 -q tcp
OR just sudo tcpdump -i rvi0 -n
If rvictl is not working install Xcode
For more info: Remote Virtual Interface
http://useyourloaf.com/blog/2012/02/07/remote-packet-capture-for-ios-devices.html
Here is another way http://www.tuaw.com/2011/02/21/how-to-inspect-ioss-http-traffic-without-spending-a-dime/
I didn't see Roger Nolan's reply, the above link is same workflow with a different tool.
Depending on what you want to do runnning it via a Proxy is not ideal. A transparent proxy might work ok as long as the packets do not get tampered with.
I am about to reverse the GPS data that gets transferred from the iPhone to the iPad on iOS 4.3.x to get to the the vanilla data the best way to get a clean Network Dump is to use "tcpdump" and/or "pirni" as already suggested.
In this particular case where we want the Tethered data it needs to be as transparent as possible. Obviously you need your phone to be JailBroken for this to work.
Try Debookee on Mac OS X which will intercept transparently the traffic of your iPhone without need of a proxy, thanks to MITM, as stated before. You'll then see in real time the different protocols used by your device.
Disclaimer: I'm part of the development team of Debookee, which is a paid application. The trial version will show you all functionnalities for a limited time.
A general solution would be to use a linux box (could be in a virtual machine) configured as a transparent proxy to intercept the traffic, and then analyse it using wireshark or tcpdump or whatever you like. Perhaps MacOS can do this also, I haven't tried.
Or if you can run the app in the simulator, you can probably monitor the traffic on your own machine.
Com'on, no mention of Fiddler? Where's the love :)
Fiddler is a very popular HTTP debugger aimed at developers and not network admins (i.e. Wireshark).
Setting it up for iOS is fairly simple process. It can decrypt HTTPS traffic too!
Our mobile team is finally reliefed after QA department started using Fiddler to troubleshoot issues. Before fiddler, people fiddled around to know who to blame, mobile team or APIs team, but not anymore.
참고URL : https://stackoverflow.com/questions/437061/how-do-you-monitor-network-traffic-on-the-iphone
'IT TIP' 카테고리의 다른 글
열을 외래 키로 추가하면 외래 키 제약 조건에서 참조 된 ERROR 열이 존재하지 않습니다. (0) | 2020.12.02 |
---|---|
WPF 데이터 템플릿이 목록 상자의 전체 너비를 채우도록하려면 어떻게해야합니까? (0) | 2020.12.02 |
TextBlock의 WPF 형식 DateTime? (0) | 2020.12.02 |
스톱워치 틱을 나노초, 밀리 초 및 초로 어떻게 변환합니까? (0) | 2020.12.02 |
Mac 또는 Mac OS X에서 localhost 폴더는 어디에 있습니까? (0) | 2020.12.02 |