Netzwerkanalyse für VM's

In manchen Fällen ist es erforderlich ein wenig mit WireShark o.ä. zu schauen was so im Netzwerk über die Leitung geht. Wer das allerdings von einer virtuellen Maschine aus macht, sieht nur den Netzwerkverkehr des virtuellen Interfaces der virtuelle Maschine, da dieses ja über einen virtuellen Switch (xenbr) mit dem physischen Interface verbunden ist. Hierfür müssen wir lediglich das VIF einer virtuellen Maschine sowie das PIF in einen sexuell freizügigen bzw. verworrenen Modus versetzen (kein Witz, BeoLingus übersetzt „Promiscuous“ mit sexuell freizügig, verworren).

Promiscuous Mode

Damit nun unser virtuelles Interface auch den Traffic des physischen Interfaces mitbekommt, müssen wir den Promiscuous Mode aktivieren. Zuerst allerdings benötigen wir die UUID unseres physischen Interfaces. Das geht mit dem folgenden Kommando:

xe pif-list network-name-label="<name_des_netzwerks>" --minimal

Wenn ihr nicht wisst wie eure Netzwerke heißen, hilft auch das XenCenter. Unter dem Reiter Network stehen alle Netzwerke mit ihren Namen. Oder natürlich das folgende CLI Kommando:

xe network-list

Zu beachten ist auch, dass der Name des Netzwerks wenn Leerzeichen enthalten sind innerhalb von Anführungszeichen geschrieben werden muss. Wenn ihr das alles beachtet habt, steht jetzt eine UUID in der Konsole die wir für das nächste Kommando benötigen. Wir setzen jetzt den promiscuous mode auf dem physischen Interface (PIF) mit dem folgenden Kommando:

xe pif-param-set uuid=<uuid_des_pif> other-config:promiscuous="true"

Das ganze müssen wir jetzt noch für das virtuellen Interface auf der entsprechenden virtuellen Maschine machen. Dazu brauchen wir erstmal die UUID des VIF. Die bekommen wir mit folgendem Kommando:

xe vif-list vm-name-label=<name_der_vm> params=all

Jetzt können wir hier wie schon beim physischen Interface den promiscuous mode mit dem folgenden Kommando setzen:

xe vif-param-set uuid=<Uuid_des_vif> other-config:promiscuous="true"

Zu Schluß müssen wir nur noch das virtuelle Interface neu starten. Da es keinen expliziten Reset Befehl gibt müssen wir es kurz abhängen und wieder verbinden. Das geht mit den folgenden Kommandos:

xe vif-unplug uuid=<uuid_des_vif>
xe vif-plug uuid=<uuid_des_vif>

Das Kommando xe vif-unplug funktioniert nur, wenn die XenTools in der virtuellen Maschine installiert sind. Sollte das nicht der Fall sein, hilft ein Reboot der VM.

Jetzt könnt ihr mit WireShark, TCPDump etc. die Pakete vom physischen Interface mitschneiden.

Ob wirklich der promiscuous mode aktiviert ist, könnt ihr mit den folgenden Kommandos überprüfen:

xe pif-param-list uuid=<uuid_des_pif>
xe vif-param-list uuid=<uuid_des_vif>

Was dann in etwa zu dieser Ausgabe führt:
xenserver:xs55sniffing-01.png

xenserver/xs55sniffing.txt · Zuletzt geändert: 22.01.2011 - 16:39 von Thomas Krampe
Sie befinden sich hier: Willkommen im Xenmaster WikiCitrix XenServerNetzwerkanalyse für VM's