{"id":119,"date":"2012-05-27T18:39:46","date_gmt":"2012-05-27T16:39:46","guid":{"rendered":"http:\/\/www.pfft.ch\/wordpress\/?p=119"},"modified":"2012-05-27T18:41:08","modified_gmt":"2012-05-27T16:41:08","slug":"usb-data-capture-mit-wireshark-und-virtualbox","status":"publish","type":"post","link":"https:\/\/www.pfft.ch\/wordpress\/2012\/05\/usb-data-capture-mit-wireshark-und-virtualbox\/","title":{"rendered":"USB-Data capture mit Wireshark und Virtualbox"},"content":{"rendered":"<p>F\u00fcr (noch immer zu) viele Ger\u00e4te gibt es Treiber f\u00fcr Windows und auch Mac, aber nicht f\u00fcr Linux. Entweder man wartet, bis irgend ein Gut-Mensch einen Treiber f\u00fcr Linux bereitstellt, oder man versucht es selber. Das erste Problem beim Selbermachen ist, dass die Protokolldefinition des Ger\u00e4ts oft nicht verf\u00fcgbar ist. Da bleibt nur noch Reverse Engineeren. Doch wie kommt man an den Datentraffic? Ein M\u00f6glichkeit ist mit <a href=\"http:\/\/www.wireshark.org\/\">Wireshark<\/a> und <a href=\"https:\/\/www.virtualbox.org\/\">Virtualbox<\/a>.<!--more-->Ich erkl\u00e4re hier die folgenden Voraussetzungen nicht. Es gibt gen\u00fcgend Informationen dar\u00fcber im Internet.<\/p>\n<ul>\n<li>der Host-Computer ist ein Linux (Ubuntu) Rechner ist<\/li>\n<li>Virtualbox ist installiert und l\u00e4uft<\/li>\n<li>das Gast-System in der Virtualbox-VM ist ein Windows<\/li>\n<li>der Treiber f\u00fcr das Ger\u00e4t, f\u00fcr dass man den Datenverkehr aufzeichnen will, ist in der VM installiert und funktioniert<\/li>\n<li>Wireshark ist installiert<\/li>\n<\/ul>\n<p>Zumindest unter Ubuntu k\u00f6nnen Virtualbox und Wireshark komfortabel \u00fcber die Paketverwaltung installiert werden.<\/p>\n<p>Um als normaler Linux-Benutzer eine Traffic-Aufzeichnung mit Wireshark machen zu k\u00f6nnen, m\u00fcssen dem Benutzer weitere Rechte gegeben werden (sonst funzt es nur als root). \u00a0Wie <a href=\"http:\/\/anonscm.debian.org\/viewvc\/collab-maint\/ext-maint\/wireshark\/trunk\/debian\/README.Debian\">hier<\/a> beschrieben geht das am Besten, wenn man den folgenden Befehl ausf\u00fchrt und die Ausf\u00fchrung von Wireshark als Benutzer zul\u00e4sst:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\r\ndpkg-reconfigure wireshark-common\r\n\r\n<\/pre>\n<p>Anschliessend muss man den Benutzer zur neuen Gruppe &#8222;wireshark&#8220; <a href=\"http:\/\/wiki.ubuntuusers.de\/Benutzer_und_Gruppen\">hinzuf\u00fcgen<\/a>. Damit kann dieser Benutzer Wireshark normal starten und den Traffic von Netzwerken aufzeichnen, aber noch nicht von der USB-Schnittstelle.<\/p>\n<p>Damit die Aufzeichnung funktioniert, muss<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">usbmon<\/pre>\n<p>als Kernel-Modul geladen sein:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\r\nmodprobe usbmon\r\n\r\n<\/pre>\n<p>Dann kann man mit<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\r\nls -l \/dev\/usbmon*\r\n\r\n<\/pre>\n<p>\u00fcberpr\u00fcfen, wem die Ports geh\u00f6ren (meist dem root) und ob ein normaler Benutzer Leserechte darauf hat. Wenn nicht, kann ihm mit<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\r\nsudo chmod +r \/dev\/usbmon*\r\n\r\n<\/pre>\n<p>die notwendigen Rechte geben werden. Sp\u00e4testens nachdem sich der Benutzer ab- und wieder angemeldet hat, kann er Wireshark starten und er kann als &#8222;capture interface&#8220; ein USB-Bus ausw\u00e4hlen.<\/p>\n<p>Von nun an ist es keine Hexerei mehr herauszufinden, was genau zwischen einem Ger\u00e4t und seinem Windows-Treiber kommuniziert wird. Einfach Ger\u00e4t zur VM hinzuf\u00fcgen, die Funktionen unter Windows ausf\u00fchren, das Ger\u00e4t von der VM trennen und am Schluss das Ganze in aller Ruhe in Wireshark analysieren. Viel Spass.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>F\u00fcr (noch immer zu) viele Ger\u00e4te gibt es Treiber f\u00fcr Windows und auch Mac, aber nicht f\u00fcr Linux. Entweder man wartet, bis irgend ein Gut-Mensch einen Treiber f\u00fcr Linux bereitstellt, oder man versucht es selber. Das erste Problem beim Selbermachen ist, dass die Protokolldefinition des Ger\u00e4ts oft nicht verf\u00fcgbar ist. Da bleibt nur noch Reverse [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,3],"tags":[],"class_list":["post-119","post","type-post","status-publish","format-standard","hentry","category-entwicklung","category-ubuntu"],"_links":{"self":[{"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/posts\/119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=119"}],"version-history":[{"count":4,"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/posts\/119\/revisions"}],"predecessor-version":[{"id":123,"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/posts\/119\/revisions\/123"}],"wp:attachment":[{"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}