 Jaspar Wongert, willkommen. Er arbeitet bei Airbus. Er hat einige Artikel veröffentlicht in verschiedenen großen deutschen Computermagazinen. Und er kennt sich aus mit Paketaufnahme und er spricht heute über diverse Probleme mit Paketaufnahme und wie man damit umgeht. Jaspar will kommen, alles Spiel und Spaß, bis jemand IPv6 benutzt. Danke. Willkommen. Ich habe nicht so viele Leute erwartet in diesem Raum. Wenn der Mitte des Talks ausgeht, ich weiß ja, die Fiat News Show kommt, also ich nehme das nicht persönlich. Also, ich bin Jaspar, wenn ihr da mir auf Twitter folgen wollt, das ist mein Twitter-Händel. Also, es geht um das Bereinigen von P-Caps, also Paketaufnahmen. Also, viele meiner Arbeit hat damit zu tun, diese P-Caps anzuschauen und mit diesem Tool das Wireshark heißt. Ich benutze das jeden Tag und oft habe ich etwas, das ich anderen zeigen will. Aber da sind wir Daten, die ich anderen nicht zeigen darf, zum Beispiel IP-Adressen, also Zeug das Geheim bleiben muss. Also, ich will entsprechend all diese Geheimdaten entfernen, also wie IP-Adressen oder Mac-Adressen. Und natürlich, ja, bei Mac-Adressen, wie ihr vielleicht wisst, kann man den Hersteller des Geräts rausfinden oft. Also, es kann sein, dass es wichtig ist, bevor man etwas teilen kann. Also, die erste Slide, die ich euch zeige, hat nichts mit P-Caps zu tun. Das wird euch überraschen. Es war einmal, da habe ich mit etwas angearbeitet, nämlich Computerspiele, wie zum Beispiel diesen, also, ich habe jetzt nicht genau diesen bearbeiten, aber nach zum Beispiel das da. Ich habe Übersetzungen gemacht. Ich habe mich daran erinnert, als ich diesen Talk geschrieben habe, weil damals musste ich etwas tun, das ich gehasst habe, das ich auch hast beim Bereinigen von P-Caps. Ich musste mit dem Hex-Editor Dinge bearbeiten. Es ist sehr schwer, Zeugs richtig hinzukriegen. Damals, als Lukas Art und Westwood diese Spiele veröffentlicht hatten, bekamen wir nie den Quail Code. Also, könnt ihr euch vorstellen, damals, als Lukas Art, ja, die dachten schon damals, ja, man kann etwas damit machen, wie zum Beispiel das Spiel nochmal zu kompellieren. Also, die gaben das nur die Bineries. Also, ich musste die Bineries patchen, um die deutsche Übersetzung ins Spiel reinzukriegen. Also, wie ihr wisst, wenn ihr im Deutsch euch hübsch ausformuliert, sind sie viel länger als die englischen Sätze. Also, ja, ich saß also da, habe mir überlegt, wie kann ich das übersetzen, so, dass es nicht länger als der englische Satz ist, aber so, dass es trotzdem cool tönt. Also, es ist ein großes Problem, hat mich viel Nerven gekostet. Also, ich kann jetzt da mal zeigen, wie das damals ausgesehen hat, weil, ja, also, das ist jetzt so eine Bineratei. Das sind jetzt die ganzen Strings, die da in diesem executable drin sind. Das war da noch nicht obfuscated. Also, das würde man heute nicht so sehen. Das benutzt niemand mehr so. Also, wir haben da drin gearbeitet, um das Spiel zu übersetzen. Und sowas will ich nie mehr wieder tun, aber, ja, leider mit keycaps muss ich das. Also, ja, und dieser Talk geht jetzt darum, wie man dieses Problem löst. Und jetzt, naja, heutzutage geht man natürlich, bekommt man die Ressourcen-Dateien und das Übersetzen ist viel einfacher. Aber damals musste das wirklich so gemacht werden. Also, zuerst einmal für die von euch, die nicht wissen, was P-Captains, das heißt Packet Capture, also Paketaufnahme. Also, mit einem Capture-Gerät hat man diese Pakete aufgenommen. Also, es ist ein Datei-Format, ein binäres Lock-File. Also, ja, oft wird das von Leuten nicht verstanden und wir werden dann gefragt, wie kann ich das mit einem Text-Editor anschärmen? Also, ja, das geht halt nicht. Man braucht ein spezielles Programm, um das zu lesen. Viele verwenden zum Beispiel Wire Shark. Also, P-Cab wird noch oft verwendet, weil es einfach zu lesen und zu schreiben ist. Aber es gibt ein neueres Format, das heißt P-CabNG. Man kann damit viel mehr anfangen. Also, zum Beispiel Kommentare zu Paketen hinzufügen. Aber leider gibt es viele Tools, die nur mit P-Cab umgehen können. Also, ja, Wire Shark schreibt das. Also, das heißt, Dump-Cab ist im Prinzip das Tool. Aber Wire Shark sagt Dump-Cab, das macht das und so weiter. Das Nord zum Beispiel benötigt auch dieses Format. Also, wieso diese Bereinigung? Erstens mal ist es sehr ähnlich, diese Pakete so zu bearbeiten, wie die erneut ins Netzwerk einzuspeisen, um herauszufügen, wenn die das Gerät reagiert. Aber das Ziel ist ein bisschen anders. Man probiert nicht, die Pakete zu verändern, um etwas zu testen, sondern um sensible Daten zu schützen. Also, zum Beispiel, dass niemand etwas über die Netzwerktopologie herausfindet. Oder Information über Geräte und Software-Version. Also, wenn das zum Beispiel drinsteht, das ist ein Cisco Router, was auch immer. Und dann kann vielleicht jemand herausfinden, ob es ein Exploit gibt für dieses spezielle Gerät. Und natürlich, wenn ein Protokoll lücken hat, natürlich Payloads als die Inhalte der Pakete. Das sein kann, dass es natürlich an sich schon schützenswert ist, dass man dann vielleicht entfernen will. Also, weil für die Analyse, das ja unter Umständen nicht verwendet wird. Also, oft tun Leute das hier. Also, das ist ein Screenshot, den ich aus einem Wireshot Q&A genommen habe von der Webseite. Also, Leute posten dieses Bild da und entfernen das Geheimezeug, in dem da übermalt wird. So oft wird dann leider zum Teil hier der Hex-Teil vergessen, aber man kann das immer noch lesen. Also, es kann sein, wenn man das so von Herrn macht, dass man vergisst, etwas richtig zu sensieren, weil da die gleiche Information an mehreren Orten dargestellt wird. Also, ja, die Leute vergessen halt, dass das im Prinzip auch in diesem Hex-Bereich die gleiche Information nochmal ist. Und wenn ich natürlich das jetzt analysiere, wenn mir jemand das zeigt, das sage ich oft als erstes, ja, schön, aber ich kann dir damit nicht helfen, gib mir das P-Cab und wenn du mir das P-Cab nicht geben kannst, weil da IP-Adressen drin sind, die ich nicht sehen darf, dann bereinige das. Also, gib zwei große Gruppen von Leuten, die bereinigen wollen. Also, einerseits die Netzwerk-Analysten, also zum Beispiel Leute, die in Firmen arbeiten, wo der Fire-Administrator sagt, unser Firewall-Hersteller will Capture sehen, um Probleme zu debaggen von der Firewall und dann zum Beispiel sagt der Chef, nee, diese Daten öffentlich weitergeben, weil da empfindlich schützen wir das Zeug drin ist. Und der Hersteller sagt dann halt, ja, ich kann euch nicht helfen ohne diese P-Cabs. Und der Kunde sagt, ja, ich kann euch die nicht schichten. Was macht man denn da? Naja, man kann eben die P-Cabs bereinigen. Man entfernt alles, das irgendwie kritisch ist. Hoffentlich entfernt man nicht zu viel. Wenn man zu viel entfernt, dann kann man das Problem nicht mehr diagnostizieren. Also, man muss da so eine Balance finden zwischen dem Empfernen von Material, dass niemand schützt, wer das Zeug sieht, aber natürlich nicht so viel, dass man den Rest nicht mehr verwenden kann. Ja, dann muss man den richtigen Punkt finden. Also, als Anlöst brauche ich oft nur die Daten bis zur TCP-Ebene, weil üblicherweise sind die Probleme auf der TCP-Schicht zu finden. Also, geht es dann um so Retransmission und Paketverluste und die Payload ist dann egal. Kein Problem. Also, oft gibt es diese Obskuren-Middleboxes. Da gibt es Paket-Shapers oder Firewalls. Alle diese magischen Middleboxes, die Komisches mit TCP machen, aber das manchmal nicht ganz richtig. Und ja, dann kann man alles oben an TCP weglassen und das ist dann egal. Zum Teil benötigen man aber immer noch Sachen wie FQDNs oder URLs und dann wird es langsam kompliziert. Weil dann ist man eben über der TCP-Schicht. Ja, so. Im Zeug, dass dann eben mit TCP transportiert wird oder UDP und ja, das kann ein ziemlicher Albtraum sein. Die Sicherheitsanalyse oder Wissenschaftler haben andere Sachen, die sie interessiert, weil diese ganzen Sachen interessieren sie nicht. Zumindest nicht so fest, wenn man eine Art ist, Angriff sieht, dann kann man die Mac-Adressen rausnehmen und dann sieht man einfach die Pakete von einer anderen Mac-Adresse, aber das kommt dann nicht so drauf an. Und hier kann man sehen, ich habe extra über IPv4 geschrieben, weil das interessiert euch nicht mehr, weil es ist ziemlich stabil. Das Ganze funktioniert leider nicht so genau für IPv6, wo es immer noch teilweise speziell komische Sachen macht und es gibt jetzt Angriffe, die auf IPv6 basieren, wo man irgendwie die Headers verändert. Wie viel von euch benutzen IPv6 schon? Schon ein paar. Nicht so viele, vielleicht 10%. Es gibt viele Sachen in IPv6, die immer noch ein bisschen problematisch sind und manchmal sieht man diese. Natürlich gibt es Malware-Analysten, die dann die FQDN so ein Binary-Payload brauchen und da kann man sie nicht einfach rausnehmen. Und dann gibt es die Art von der Bereinigung, die man machen muss, anders je nachdem, an wen das der Pickup gehen soll. Also der Challenge ist, wie gesagt, man braucht die richtige Balance, so viel wegnehmen wie möglich und nicht zu viel. Also man muss die richtige Menge von Ersatzstranges finden, also die richtige Balance hin. Das andere Problem, das wir haben, ist, wenn man nur ein Problem, ein Paket haben, dann kann man das im Hex-Editor machen. Es ist zwar viel Arbeit, aber es ist nur ein Paket. Wenn ich jetzt, ich habe vor einem halben Jahr einen Challenge rausgegeben an der Y-Sharp-Konferenz, da gab es ein Pickup mit einer Million von Paketen und es war ein echtes Problem, dass ich der Konferenz zeigen wollte. Es ging um 600.000 Pakete und wenn ich das mit einem Hex-Editor machen würde, würde ich für immer und ewig das editieren und für das braucht man etwas anderes. Das muss automatisiert werden. Ich werde euch jetzt ein paar Editor zeigen, die man hier verwenden kann für ein Paket, aber nicht unbedingt für mehrere. Die Komplexität des Protokolls ist eine weitere Herausforderung und IPv6 hat viele Abhängigkeiten, die ihr das Leben ziemlich schwierig machen könnt. Zum Beispiel, selbst wenn man nicht so viel über IPv6 weiß, dann sieht man doch, dass es viele Sachen gibt, die man anschauen muss und ersetzen muss, sodass nicht unsinnig wird. Es gibt Abhängigkeiten innerhalb des Protokolls, also IPv6 und ARP hangen vor einer ab und dann müssen die Replacements konsistent bleiben, damit das Pickup immer noch Sinn macht. Und da gibt es etwas, das eine deutsche Universität erfunden hat, das nennt sich Defensive Transformation, wird das schon mal gehört. Es ist quasi, wenn man ein Netzwerkpaket ansieht und man weiß nicht, was es bedeutet, einen Teil des Pakets, dann muss man es rausnehmen, weil wenn man nicht weiß, was es ist, dann könnte es etwas sensibles sein. Wenn ich das Netzwerkpaket anschaue, dann muss ich schauen, dass ich alles verstehe im Paket und alles, was ich nicht kenne, kann ich nicht in das bereinigte Paket schreiben. Ich verliere damit Informationen, aber es ist besser, Informationen zu verlieren als Informationen zu exponieren, von denen man nicht genau weiß, dass sie nicht sensibel sind. Dann gibt es Sachen, die plötzlich immer noch im Hex-Dump drin sind und man wusste nicht, um was es geht. Das ist eben die Defensive Transformation, also quasi, man muss schauen, dass man nicht zu viel Informationen rausgibt. Also eben zu den Hex-Edituren, ich habe euch schon gesagt, es ist etwas mühsam und sogar wenn man es kann, es ist so ein bisschen wie jeden Morgen grüßt das Murmeltier, also man macht das immer wieder und macht immer wieder das Gleiche eigentlich. Ich kann euch hier etwas zeigen. Ich benutze 101-Editor für das. Man kann hier reingehen und einfach anfangen, Kram zu ersetzen und dann muss man immer wieder IP-Adress in Hex-Werte umwandeln und diese suchen. Man kann natürlich Search and Replace verwenden, aber häufig verpasst man dann Sachen und ich kann euch hier noch etwas zeigen. Das hat in einem HTTP-Paket zu tun, also wenn man jetzt einzelne bytes replaced, dann hier hat er mir ein Get-Request, dann sieht man hier, die IP-Adresse ist da und das sind 32-Bit-Zahlen, aber die IP-Adresse im Hex-Werte ist ASCIText und das ist etwas ganz anderes, aber es ist die gleiche IP-Adresse und das eine ist 32-Bit und das ist viel länger. Und dann kann man hier den Decode sehen, dann die IP-Adresse ist irgendwo auch im Decode drin und da sieht man, das ist ASCIText abgespeichert und da muss man die 32-Bit-Zahlen und den Text mit der gleichen erfunden IP-Adresse ersetzen. Das ist überhaupt kein Spaß, weil so verhindert man dann auch die Paketlänge, dann passiert das sehr amisant ist und ich kann euch das zeigen, weil das sieht dann so aus, das Trace sieht normal aus, ein Pin und ein Eck am Ende und keine Warnungen vom Weiherschark und gar nichts. Und wenn ich dann das ersetze, wenn ich die IP-Adresse ersetze, das Trace sieht ganz anders aus, man hat ein Haufen rote Linien, das sind dann Fehler und vorherige Segmenten wurden nicht erkannt und dann geht etwas, es scheint jetzt noch nicht in Ordnung zu sehen, der Dump geht kaputt und bis zu diesem Paket scheint alles in Ordnung zu sein, aber da, wo ich jetzt etwas ersetzt habe, war etwas Langes und dann habe ich es, es war 7 Charakterlänge etwas kürzer ersetzt und alle Sequenzzahlen werden dann 7 zahlen zu hoch sein und Weiherschark kommt dann nicht mehr draus und nimmt dann, dass da Pakete verloren gegangen sind und alles, was länger ist, ist dann so viel daneben, wie das Replacement länger ist, das man verwendet hat. Aber erst nachdem man das Replacement gemacht hat, muss man eine Lookup-Table halten, damit man die Sequenznummer wieder anpassen kann, nachdem man so eine Ersetzung gemacht hat. Und wenn man dann mehrere Replacements gemacht hat, also mehrere Ersetzungen gemacht hat, dann muss man plötzlich 4, 7 hinzufügen und 3 abziehen und das ist ein echter Albtraum. Das zeigt, dass es schwierig sein kann von Hann so ein Peacap zu bereinigen und das passiert, wenn man die TCP-Payload verändert. Das ist, wie man das manuelle Replacement macht und es gibt etwas in Weiherschark, dass nicht viele Leute gesehen haben, wie viele Leute haben schon Weiherschark verwendet? Die meisten eigentlich. Man kann das hier machen und man öffnet hier Weiherschark und dann, das ist jetzt Version 2.0, ziemlich neu. Ich habe mal die, ich habe die Legacy, die vorherige Version verwendet, die alte Version, die auf GTK basiert und hier kann man auf Einstellungen bearbeiten machen und hier unten gibt es eine Checkbox für Enabled Packet Editor, also den Paket-Editor anstellen. Und wenn man das macht, kann man zu jedem Paket gehen und auf Edit Packet klicken. Und jetzt kann ich hier reingehen und zum Beispiel Time to Live verändern. Also hier endet mir das auf 3 und plötzlich die Check Summe ist falsch, weil ich jetzt was geändert habe. Also wenn man etwas ersetzt in einem Paket, dann muss man die Check Summe ersetzen oder flicken. Manchmal gibt es Pakete, die schon am Anfang eine kaputte Check Summe haben. Also flickt man das dann auch in der Original-Version, also kann man ja eigentlich nicht machen, weil man kann ja nicht das Symptom entfernen, weil unter Umständen war das der Fehler. Also muss man die Check Summe falsch behalten, aber anders falsch. Also muss man sich überlegen, vorher war die Check Summe okay und dann muss man sie entweder anpassen oder nicht und leider gibt es nur in der GTK-Version, nicht in der neuen QT-Version. Die nächste Sache, die wir haben, ist das nächste Programm ist Wire Edit. Das ist ein eher neues Tool. Das könnt ihr benutzen, also das kann Pickup-NG noch nicht, aber jetzt muss ich das zuerst als Pickup abspeichern. Ja, ich hatte ein Beispiel behalten sollen, aber ich habe es leider vergessen. So, das ist jetzt nur eine Datei-Konvertierung. So, jetzt könnt ihr das hier öffnen und sagen, hey ich möchte dieses Paket bearbeiten. Es ist leider ein bisschen verwirrend, aber ihr seht hier unten, seht alles, was in dem Paket ist. Jetzt will ich z.B. den neuen Host verändern. So, ändern wir diesen Host nach log.packetful.com. Und die gute Sache daran an diesem Wire Edit ist, das macht jetzt die Prüf-Summen automatisch wieder richtig. Ihr könnt auch Dinge hinzufügen, wegnehmen und das selbe Problem mit den Sequenz-Nummern tritt man nicht auf. So, Paket editieren, Wire Edit. Wenn man das jetzt manual macht, dann müsst ihr Bill Murray an eurer Seite haben, weil es braucht viel Zeit und ist immer wieder dasselbe. Wenn ihr etwas falsch macht beim meditieren, also z.B. bei vielen verschiedenen Paketen automatisiert, dann müsst ihr halt ein paar Dinge im Hinterkopf behalten. Wenn ihr eine IP-Adresse durch eine andere IP-Adresse ersetzt, dann müsst ihr jeweils das selbe Original mit derselben neuen IP-Adresse ersetzen. Also ihr könnt nicht einfach irgendwas nehmen, sondern das muss konsistent sein. Also wenn ihr viele alte IP-Adressen habt und viele, dann macht ihr z.B. so etwas wie eine Haschfunktion. Das gibt dann komische IP-Adressen mit dem Hasch 127.001 z.B., wenn das Original 10-Punkt irgendwas ist und das verwirrt dann, kommt es dann aus das vom Local Host tatsächlich. Ja, das sind halt so Probleme, die man haben kann mit den Haschfunktionen. Ja, Bitwise, AnticiPrioriRide sind Commander-Zeilen-Tools, die man dafür benutzen kann. Die sind designt, um euch zu helfen, um Pakete halt zu editieren und zu ersetzen. Das sind nicht der Bereinigungstool an sich, aber ihr könnt die auch benutzen, um eine Art von Bereinigung zu machen. Das Packet einen ist von Defensive Transformation. Dann gibt es ein neues Projekt, welches Paket-Analyst, das XAMAL-Dateien nimmt, um automatische Konvertierungen an Paketen vorzunehmen. Ihr könnt z.B. Dinge direkt von TCP-Dump direkt hineinpipen und dann erst auf die Disk schreiben. Das ist irgendwie noch cool, weil man bei keinem File dazwischen, man kann definieren, wie sehr die Sachen SS werden soll, IP, Mac-Adressen usw. Dann gibt es Peacup-Lib, das ist aus meiner Sicht kein guter Name, weil LibPeakup ist die Library, die liest und schreibt Peacup-Dateien. Und Peacup-Lib macht jetzt halt was anderes und es kann halt verwirrend sein. Aber eigentlich benutzen Sie einfach Wireshark in einer automatisierten Form. Also es ist ein hübsches Projekt, das wurde aber nicht mehr weiterentwickelt. Das meiste, was ihr eigentlich so fänden könnt, sind Forschungspipers. Wenn die Arbeit abgeschlossen ist, dann hört das natürlich, entwickelt das immer mehr weiter und das ist dann halt outdated. Ja, dann das Letzte ist Trace Wrangler, das ist mein Tool. Ich zeige euch das jetzt. Es ist etwas anders, weil es nicht auf Linux läuft, weil es ist in Delphi geschrieben. Ja, ich weiß eine komische Sprache. Man sagt, dass Sie nur Russen benutzen. Trace Wrangler kann Dinge automatisch ersetzen und das führe ich jetzt mit einer Demonstration vor. Also was man machen kann, ist da oben. Also wir nehmen ein Peacup-Pfeil, das da zum Beispiel, dann üben wir einen Anonyminisierungsaufgabe dazu und dann können wir ihm sagen, was genau wir ersetzt haben wollen. Wichtigsten ist, dass es alles wegschmeißt, dass es nicht kennt, ist diese Option, die man halt aktivieren muss. Das heißt eigentlich, alles höher als TCP wird verworfen, weil das das Tool einfach noch nicht kann. Und ja, aber ich arbeite dran. Also erst ist kein Piper, es ist kein Forschungsprojekt, sondern ich arbeite tatsächlich noch dran weiter. Und ja, es kann auch Strings ersetzen. Und ja, die wichtige Sache, es kann IP-Adressen ersetzen. Wir haben da zum Beispiel, also man kann mir eine Liste füttern, welche IP-Adresse durch welche andere IP-Adresse ersetzt werden soll. Und ja, es ist egal in welcher Art Paket das das ist, ob das in einem ARP-Paket, in einem IP-Paket oder im Payload ist, das macht es halt immer. Und dann kann es Subnetze ersetzen. Alles, was zum Beispiel in 192.168 irgendwas Netz ist, soll es durch irgendetwas anderes ersetzen. Weil dann sind alle IP-Adressen von einem Original-Netzwerk, landen dann wieder im selben Ziel-Netzwerk und nicht in tausend verschiedenen anderen Netzwerken. Und ja, wenn man anonymisiert hat und man häufig dann halt das Problem, ja, wieso kommuniziert es dann in den USA mit einem in Deutschland mit nur einem Hopter zwischen? Nein, das gibt es dann halt nicht mehr. Und es hat halt weitere Optionen, zum Beispiel, dass man Multicast-Adressen auch tatsächlich Multicast behalten kann und dass das nicht auf eine Punkt Null oder eine private Adresse geändert wird, sondern eine Multicast-Adresse bleibt. Apica, ich weiß nicht, wie viele von euch das können. Das ist, wenn man DHCP macht, aber keine Adresse kriegt, dann, wenn ihr sowas habt in einem Trace, dann heißt das, dass DHCP nicht funktioniert hat. Und das ist eigentlich recht interessant, weil das hilft beim Debuggen, wenn das nicht funktioniert hat. Und es ist eigentlich typischerweise auch keine Bedrohung, wenn man das hinausgibt als Dokumentations-IP-Adressen, die man nicht ersetzen will, zum Beispiel. Dann gibt es da den Privatenbereich-Modus. Wenn du eine, das sagt, wenn es eine IP-Adresse findet, das im 10 Punkt irgendwas oder 192 Punkt irgendwas ist, dann ist das im privaten Netz. So, behalte sie bitte in einem anderen privaten Netz und mach nicht irgendeine öffentliche IP draus, weil ja, das ist dann halt ebenfalls verwirrend, wenn man aufs Mal öffentliche und private Adressen gemischt hat. Man kann zum Beispiel auch sagen, dass es was genau machen soll, ob es alles ersetzen soll oder die privaten Privat behalten oder ja, verschiedenste Optionen. Das Gleiche für IPv6, für ICMP, ich könnte sagen, was ihr für Pakete entfernt haben wollt. Dann gibt es ICMP Version 6, das ist recht interessant in so einem Trace, also in so einem Pickup. Ja, IPv6 ist ein Problem. Wenn ihr dieses Paket anschaut, das ist dann IPv6 Paket, das sieht dann so aus, falls ihr es noch nie gesehen habt. Das ist in diesem Sinne problematisch, weil die Ziel-IP-Adresse, also doppelpunkt, doppelpunkt 1, irgendwas, das ist eine sehr spezielle Multicast-Adresse. Es ist so quasi der Nachfolger von ARB in IPv6. Und ja, das blühenste ist das ICMP V6. Diese IP-Adresse basiert auf dieser IP-Adresse, auf die ich jetzt zeige, und ihr seht hier die letzten paar Bytes. Also diese zwei, wenn ihr eine von den beiden ersetzt, dann müsst ihr das konsistent halten, und das sind aber die verschiedenen Klassen, und das ist ein Problem. Und die andere Sache, die noch etwas mühsamer ist, wenn ihr dieses FFI-I seht, dann weiß man, dass diese IP-Adresse von der MAC-Adresse erstellt wurde, also basierend auf der MAC-Adresse erstellt wurde, generiert. Und hier oben seht ihr die MAC-Adresse, und da seht ihr, ja, die ist da oben irgendwo, also die Ziel-MAC-Adresse. Ja, also ihr müsst die IP-Adresse anschauen, Multicast-Adressen, MAC-Adressen und so weiter, alles anschauen, und ihr müsst das in einer konsistenten Art ersetzen, sodass ihr, ja, das ist, dass das alles wieder zueinander stimmt. Und ja, das ist etwas, das jetzt mein Tool kann, und eigentlich die anderen noch nicht können, und ja, das ist cool. Es kann auch auf etwas verrückteren Sachen arbeiten, weil es kann, ja. Ethernet, IP-Adresse, UDP, IP wieder und TCP. Viel Glück, es ist ein Haufen Sachen. Wenn Traceranger das kann, wenn es das nicht kann, dann schickt mir eine E-Mail und ich flicke das. Also wir werden jetzt zu den Fragen kommen bald, wenn es welche hat, und hier kann man die Urall sehen, wenn jemand das Rutter laden will. Ich habe mich noch nicht auf eine Lizenz geeignet, und ich habe all diese Sachen schon gesagt, und ja, vielen Dank, und jetzt gerne noch Fragen. Hat jemand Fragen? Also wer Fragen hat, darf jetzt zu den Mikrofonen gehen. Die erste Frage. Sie haben erklärt, dass ein HTTP-Problem etwas näher zum Mikrofon ist. Also das Problem mit zum Beispiel HTTP anonymisieren, weil die IP-Adresse in verschiedenen Liars drin ist, mit verschiedenen Langen, ist das etwas, das das Tool kann? Noch nicht, ich arbeite dran, ich habe etwas geschrieben. Was Traceranger macht, ist, dass es das Paket ausliest, und dann geht es den Stack hoch, bis es das Protokoll nicht mehr versteht. Und momentan arbeite ich an einem HTTP-Paser und versuchte, also die einzige Art, wie man das machen kann, ist, wenn man das Paket ganz auseinander nimmt, und dann den HTTP-Paser anwirft, und ich hatte leider keine Zeit mehr. Es wird das Nächste sein an, was ich arbeite, und dann kann man hoffentlich das auch in Traceranger machen. Und das Schwierige daran ist, dass wenn man das Paket wieder zusammensetzen will, das bedeutet, man muss all die Payloads wieder zusammensetzen. Und das Problem ist, dass ein HTTP-Payload über verschiedene TCP-Packets gehen kann. Und dann muss man das zuerst wieder rekonstruieren und dann Sachen ersetzen, und dann können Sachen kürzer oder länger werden. Da muss man es wieder unterteilen. Aber es sollten ja wieder die gleichen Größen sein, und da muss man wissen, wo die Schnitte waren. Und wenn sich das jetzt was ändert, dann gibt es einen Retransmission-Erfehler. Da muss man es an einen anderen Ort einsetzen, und da muss man es wieder zusammensetzen. Und dann muss man zuerst alles wieder zusammensetzen und mich daran erinnern, wo es vorher war, und dann wieder aufteilen. Und darum ist es so schwierig, an diesen TCP-Sachen zu arbeiten. Und ich habe jetzt seit drei Jahren an diesem Tool gearbeitet, und ich bin noch nicht da, und ich werde da hinkommen. Hoffentlich bald. Also ich mache das schon für HTTP-Requests, wenn sie in einem Paket sind. Und das andere ist etwas, das ich mich in den nächsten Wochen dran machen würde. Haben wir Fragen aus dem Internet? Ja, es gibt eine Frage. Anonymisieren Sie auch durch meinen Namen? Im Moment nein, nicht wirklich. Aber ich bin recht nah dran. Also ich kann jetzt schon DNS auslesen, aber DNS ist noch mein großes Problem. Und ich habe einen Slide dafür. Wenn man FQDNs ersetzt, zum Beispiel packet.food.com mit something.secret.com, dann bedeutet das, wenn man an abcdef.packetfood.com dann muss man sich daran erinnern, dass man das hier mit dem einen ersetzt hat, und das andere mit dem anderen. Und da muss man gewisse Teile der FQDN speichern und sich daran erinnern, wie man das ersetzt hat. Und das ist eines der Nächsten, dass ich machen muss, weil wenn ich HTTP mache, dann muss ich den Hostname im GetRequest FQDNs berechnen können. Und dann kann ich auch den Rest machen. Ich werde das machen, aber ich bin noch nicht da. Zu viel Arbeit. Auf der linken Seite. Gibt es auch ein Kommandozialen-Tool? Im Moment nicht. Das Problem ist, dass wenn man die Replacement-Parameter an sieht, dann sieht man, es ist ein großer, großer Dialog. Und all diesen Kram in Optionen zu stecken für eine Kommandoziale-Version würde es sehr, sehr lang machen. Oder man bräuchte so eine Art Parameter-File, dass man in das Tool reingeben könnte. Aber ich habe so viel Arbeit in die GUI gesteckt, zum sicherstellen, dass der User nicht etwas Verrücktes macht, das mit meinem Programm interferieren würde. Darum habe ich kein Kommandozialen-Tool, weil da müsste ich diese ganze Arbeit noch einmal machen für die Input-Senditation auf der Kommandoziale. Das ist einfach nicht so viel Spaß, sondern es braucht viel Zeit. Ich habe es leider nicht verstanden, die Frage. Mit Wireshark wurde schon viel Arbeit gesteckt, um das korrekte Auseinanderzunehmen. Wie oft passiert es Ihnen, dass Sie eigentlich neue Probleme in das File hinzufügen, versendlich, und wie einfach und schwer ist es, das zu herauszufinden? Wenn ich ein Pickup lese und etwas wieder schreibe, wenn ich etwas Falsches mache, wie oft passieren dann neue Probleme? Wenn Sie eigentlich etwas einen Fehler verbessern würden und dann findet man einen Fehler, der beim Bereinigen hinzugefügt wurde. Das ist ein Problem und das ist etwas, wo ich Angst habe davor, weil wenn ich ein Fehler einführe, der vorher nicht da war, dann bin ich schliessendlich ein größeres Problem, als du vorher schon hattest. Ich versuche eigentlich, wenn ich Falsch lese und schreibe, dann versuche ich, wenn ich versuche, ein Paket zu werben, dann werde ich zuerst einmal analysieren, einlesen und wieder rauslesen und dann schaue ich, dass es sich nicht verändert hat um irgendwelche Ersetzungen vorzunehmen. Ich bin einer der berüchtigsten Benutzer von Wireshark, weil ich jetzt so viel benutze und ich habe immer wieder Kontakt mit dem Maintainer von Wireshark und ich finde viele Fehler in Wireshark manchmal und häufig ist es eine 40% Wahrscheinlichkeit, dass ich falsch bin oder dass Wireshark falsch ist. Gibt es noch eine Frage aus dem Internet? Keine Frage aus dem Internet. Dann noch eine hier. Ich habe es schon kurz angeschaut. Können Sie wissen, ob er August? Ich habe es noch nicht wirklich benutzt, muss ich sagen. Die Sache ist, August ist webbasiert vom Frontend her und ich muss es mal anschauen, aber ich könnte es noch nicht anschauen. Ich denke, es ist vor allem Krimonzahlen basiert, aber es hat ein eigenes Dateiformat, Captureformat. Kann man das zu Peacap konvertieren? Ja, kann man. Ja, dann ist es okay. Ich meine, was ich nicht mag, ist, dass wenn jemand ein properitäres Protokoll schreibt, dass niemand sonst lesen kann, dann wenn ich es anschauen muss, dann muss ich Peacap verwenden und ich muss zuerst das Tool anschauen. Dann kann man es kontrollieren und vielleicht mache ich Sachen, die August schon machen kann. Aber ich muss es mir noch mal anschauen. Wenn es jetzt keine neuen Fragen mehr gibt. Ja, wie Jasper schon gesagt hat, ihr könnt ihm auch eine E-Mail schreiben. Danke Jasper, danke für den Talk.