
Docker 인스턴스 내부의 Ubuntu에서 실행되는 앱(QEMU를 통해 실행되는 Google의 Android 에뮬레이터)이 있습니다. 나는 다음을 원한다:
- QEMU 내부에서 실행되는 VM에서 들어오는 모든 네트워크 트래픽(패킷)을 캡처합니다.
- 나머지 인스턴스는 연결된 상태로 유지하면서 해당 VM의 트래픽이 인터넷에 도달하지 못하도록 방지
- 해당 VM에서 다른 서버로 보낸 요청에 대한 스푸핑 응답을 통해 내가 해당 서버인 것처럼 가장합니다.
- 이 모든 작업을 자동화된 헤드리스 방식으로 수행합니다(사용자 입력 없이 스크립트만 사용).
이것저것 조사하다가 알게 된 사실https://github.com/mandiant/flare-fakenet-ng, 이것이 바로 나에게 필요한 것입니다. 문제는 내 설정에서 작동하지 않는 것 같다는 것입니다(Fakenet의 네트워크 드라이버가 로드될 때마다 모든 구성에 관계없이 모든 네트워크 트래픽이 비활성화되고 Docker 인스턴스에 대한 제어가 손실됩니다). 여기에 대해 질문을 했습니다(Ubuntu Linux의 fakenet-ng에서 전환기를 활성화하면 모든 네트워크 트래픽이 비활성화됩니다.), 그러나 답변을 받지 못했습니다.
지금까지 이 문제를 해결하지 못했기 때문에 이를 달성할 수 있는 다른 방법을 찾고 있습니다. 어떤 도구와 방법을 사용해야 합니까? 그들의 장점과 단점은 무엇입니까?
답변1
Android Emulator 자체에는 tcpdump 구현과 패킷을 파일로 덤프하는 옵션이 포함되어 있습니다. 이렇게 사용하세요 emulator -tcpdump {path_to_dump}.pcap {other_options}
.
인터넷 연결을 중지하고 응답을 스푸핑하는 것과 관련하여 별도의 사용자 그룹에서 에뮬레이터를 시작하고 프로세스의 GID를 기반으로 iptables 필터링을 수행하여 특정 GID에서 들어오는 모든 트래픽을 스푸핑된 응답이 있는 로컬 서버로 리디렉션할 수 있습니다. 구현됩니다. 다음과 같은 것https://pypi.org/project/spoof/또는https://pypi.org/project/fake-server/이 사용 사례에 적합할 수 있습니다.