Klar gibts diese. Du benötigst dafür Raw-Sockets. Wichtig dabei ist das du die Checksummen richtig berechnest ansonsten wirft tcpdump fehlermeldungen aus und das Packet kommt nicht richtig beim Ziel an.Ich schreibe zur Zeit einen Portscanner für linux der fin-(schickt ein leeres Packet weg in dem nur das fin-flag gesetzt ist) , xmas-(alle flags sind gesetzt), syn-(nur das syn-flag), null-("leeres" Packet, kein flag ist gesetzt)connect-, icmp- und ackscans ermöglicht. Alle Scanfunktionen sind bereits fertig. Ich hab diesen zwar in C++ geschrieben aber es sollte doch als beispiel gut genug sein. Wenn du willst kannst du die Sourcen haben(oder zumindes die funktionen die dir weiterhelfen können).