tcpdump에 VirtualBox 게스트 간 트래픽이 표시되지 않음


9

CentOS 6을 실행하는 4 개의 VirtualBox 게스트로 테스트 환경을 설정했습니다. 각각의 브리지 장치에는 하나의 네트워크 장치가 연결되어 있습니다.이 어댑터는 PC의 기본 네트워크 연결이며 고정 IP 주소 (192.168.2.95-98)로 액세스 할 수 있습니다. 내 네트워크의 모든 장치에서

때로는 어떤 이유로 든 패킷을 분석 할 수 있어야합니다. 처음에는 라우터에 SSH를 연결하고 tcpdump를 사용하여 게스트의 모든 패킷을 캡처했습니다. 음, 계획대로 작동하지 않습니다 ...

tcpdump를 사용하여 표시되는 유일한 패킷은 게스트 이외의 네트워크에서 98과 다른 장치 간의 트래픽입니다. 98은 내 네트워크의 다른 장치 (SSH 트래픽 외에)와 통신하는 유일한 게스트입니다. 나머지는 다른 손님과 의사 소통합니다.

각 게스트 IP 주소에 대해 호스트별로 tcpdump를 필터링하기 시작했습니다. 나는 모든 것을 버리기 위해 그것을 완전히 벗겨 내었다 . 모든 패킷이 PC의 네트워크 어댑터를 통과하기 때문에 여전히 해당 카드의 모든 패킷을 캡처하지 못했습니다!

브리지 된 네트워킹을 사용할 때 VirtualBox가 어댑터에서 패킷을 맹 글링, 주입 및 제거합니다. 패킷이 다른 게스트로 이동하는 경우 VirtualBox는 패킷을 유지하고 적절한 게스트로 전달합니까? 그렇다면 해당 패킷을 어떻게 캡처 할 수 있습니까?


호스트 컴퓨터는 어떤 OS입니까?
heavyd

호스트의 tcpdump (또는 다른 패킷 스니퍼)에 트래픽이 표시됩니까? 호스트 OS / VirtualBox가 실제로 라우터로 패킷을 보내지 않고 동일한 인터페이스로 다시 돌아올 수있을 정도로 똑똑하다고 생각합니다.
Goyuix

@heavyd - 그것은 윈도우 7의
로건 비비

@Goyuix-카드의 모든 패킷을 캡처 한 이유입니다. 내 라우터의 덤프와 동일한 내용을 보여줍니다. 패킷이 유지되면 어디서 찾을 수 있습니까?
로건 비비

답변:


6

VirtualBox의 브리지 된 네트워킹 모드를 사용하면 VirtualBox는 호스트 컴퓨터의 물리적 인터페이스와 가상 네트워크 간의 가상 스위치처럼 작동합니다. 가상 네트워크의 컴퓨터간에 이동하는 패킷은 호스트 네트워킹 스택에서 tcpdump가 선택할 수있는 지점에 도달하지 않으므로 호스트에서 해당 트래픽을 볼 수 없습니다.

VirtualBox의 내장 네트워크 추적 기능 을 사용하려고 시도 할 수 있습니다. 이 도구는 디버깅 도구이지만 pcap 파일을 생성하며 설정이 쉬운 내장 도구입니다. 네트워크 추적을 활성화하려면 옵션 VBoxManage과 함께 명령 줄을 사용할 수 --nictrace*있습니다.

VBoxManage modifyvm [your-vm] --nictrace[adapter-number] on --nictracefile[adapter-number] file.pcap

그것을 시도하고 매력처럼 일했습니다. 이것이 내가 필요한 전부입니다! 10 번 투표 할 수 있으면 좋겠다 ...이 문제가 얼마나 오랫동안 괴롭 혔는지 전혀 모른다.
로건 비비

1
어떤 생각이 왜 tcpdump-ing 객실 내부 VM-에-VM 트래픽을 캡처하지 않는 이유는 무엇입니까? 호스트 IP 스택에 대해서는 그다지 신경 쓰지 않습니다. 오히려 tcpdump게스트 OS에서 올바르게 실행되는 것을 기대 합니다. 표면적으로는 게스트 네트워크 스택이 평소와 같이 작동해야하기 때문에 합리적인 기대입니다. 무슨 일이야?
ulidtko

@ulidtko OS-es, 버전 및 네트워킹 구성을 포함한 특정 세부 정보를 사용하여 새로운 질문을 작성하는 것이 좋습니다.
15:27에
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.