Glücklicherweise gehen Schulen auch mit der Zeit und sprechen auch Sicherheitsprobleme in der Netzwerktechnik an. Aber schade, dass das einige nicht wahr haben wollen.
"Sicherheitsprobleme ausprobieren" ist ziemlich ohne Schnittmenge mit "Sicherheitsprobleme verstehen". Ich finds toll wenn sowas richtig und auf eine vernünftige Art im (Schul?-)Unterricht gemacht wird, aber wie ich bereits sagte:
1) wenn Du was dazu programmieren sollst (Hausaufgabe!), such Dir gefälligst selber Bibliotheken um das zu machen (google before you ask...!), die gibts zwar nicht wie Sand am Meer, aber Du bist nicht der erste der was in die Richtung mit Python machen will. Ich hab gerade auf Google gesucht, und in den ersten 20 Treffern haben mich drei Links angesprungen, die sich mit ähnlichen (zwar nicht ganz den selben, aber fast den gleichen) Themen auseinandersetzen, die Du gut lesen hättest könnten ohne gleich zu fragen.
Du hast ja schon eine ungefähre Ahnung was Du machen musst (sonst würdest Du zumindest nicht fragen ob's eine Bibliothek gibt um die entsprechenden ARP-Pakete zu generieren), und es wird nicht lange dauern um auf Google etwas zu rohen Paketen und Python zu finden, und Dir dann selber eine kleine Bibliothek zu basteln die einen Ethernet-Header um ein ARP-Paket Deiner Wahl baut (beide Formate sind in RFCs gut dokumentiert, und sind dazu noch relativ einfach, zumal Du im Endeffekt als Proof Of Concept nur statische Paketinhalte nehmen mußt, also sogar direkt aus den RFCs abschreiben kannst, und einfach horchst was über den rohen Socket wieder reinkommt, siehe hierzu zum Beispiel Packet Capture, was Ihr ja sicherlich auch schon eingesetzt habt, zum Beispiel in Form von ethereal, und auch da gibts Möglichkeiten das mit Python zu machen).
Die generierten Pakete kannst Du ohne Zusatzbibliotheken direkt in den Ethernet-Stack deines Rechners injizieren (unter Linux supereinfach, unter BSD nur wenig schwerer, unter Windows keine Ahnung, aber ich könnte mir vorstellen dass da auch sowas wie rohe Sockets zu finden sind, also nicht schwerer als auch unter den anderen Systemen), sprich ein man socket hätte hier nicht unwesentlich geholfen solltest Du Dich unter *nix bewegen; der Verweis steht auch in der Python-Dokumentation zum socket-Modul.
und 2) einfach es auszuprobieren ist Blödsinn. Es bringt einen Scheiß dass Ihr einfach gesagt bekommt: "so, jetzt macht mal ARP-Spoofing, weil's so toll ist," sondern wenn man Euch wirklich was über Sicherheit beibringen will geht das nicht darüber indem man Euch zeigt wie's geht, sondern indem man Euch zeigt was Ihr dagegen machen könnt, bzw. Ihr probiert einen Gegenmechanismus zu erarbeiten, und euch aus dieser Richtung dem eigentlichen Problem hinter ARP-Poisoning (der in meiner Sicht bessere Name für diese Technik) nähert.
Die Herangehensweise über die destruktive und unverantwortliche Seite ist ungefähr das selbe wie wenn ich lerne Auto zu fahren indem ich möglichst unverantwortlich fahre, in der Hoffnung dass ich irgendwann lerne wie's richtig geht. Bis dahin hab ich fünf Menschen überfahren, zehn Zäune kaputtgerammt, und am besten noch mich selbst und mein Auto im See versenkt. Wenn ich defensives Fahren lerne, ist es genau andersherum, ich lerne zuerst wie ich mich gegen die Unverantwortlichkeit der anderen Schütze, und aus dieser Ausgangsposition heraus kann ich dann entwickeln und entscheiden was ich für mich an "unverantwortlichen" Verhalten zulassen will.
und 3) gibts schon genügend Skript-Kiddies da draußen die sowas in einem Netz einsetzen um Unruhe zu stiften, und da die "White-Hats" definitiv nicht so schnell hinterherkommen um Löcher zu flicken wie andersherum Löcher gefunden werden find ich's noch viel unverantwortlicher dass man Leuten die aus meiner eigenen Erfahrung raus mit solchem Destruktionspotential nicht vernünftig umgehen können noch ein Gewehr mehr in die Hand gibt.
Ich bin nicht so alt dass ich vergessen hätte was ich oder Mitschüler von mir in der Schule mit solchem Wissen angefangen hätten/haben.
Versteh mich bitte nicht falsch, ich behaupte definitiv nicht, dass Deine Motivation hinter der Frage irgendwie verwerflich ist, wenn Du Dich ernsthaft mit Sicherheit auseinandersetzen willst, in dem Fall bleibt einfach nur der Hinweis auf "Google before you ask".
Nur: wenn Du wirklich das ganze zum Lernen und verstehen von Netzwerksicherheit verwenden willst, guck Dich um wieviele das nicht wollen, sondern es einfach "megal33t" finden von anderen Leuten die Mails lesen zu können. Ich kann ein Lied davon singen was passiert wenn Skript-Kiddies ein Netz befallen; ich hab selbst genügend davon im Studierendennetz an der Uni, und komme kaum hinterher das sauber zu halten für die Anwender die damit einfach nur arbeiten wollen...