String senden aber auf Ip Ebene

Für allgemeine Fragen zur Programmierung mit PureBasic.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

String senden aber auf Ip Ebene

Beitrag von kiki »

Hi,

Ich würde gerne Daten in ein Netzwerk senden. Das möchte ich aber nicht ganz normal mit Sendnetworkdata was machen, sondern auf einer anderen Ebene. Ich möchte sozusagen die "Ip-adresse, mac-Adresse etc" selbst in dem Packet ändern bzw festlegen können. Genauer geht es mir darum einen ping zu schicken aber vorher die Ip und mac adresse zu ändern. Geht das?

Gruß Kiki
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Re: String senden aber auf Ip Ebene

Beitrag von Mok »

Wenn ich dich nicht falsch verstanden habe:
MAC-Adresse: Nein. Die ist von der Hardware abhängig.
IP-Adresse: Kommt aufs Netz an.
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: String senden aber auf Ip Ebene

Beitrag von NicTheQuick »

Bis zu welcher Ebene im OSI-Modell willst du denn runter? Ich vermute dir reicht die Vermittlungsschicht, oder?
Das ist machbar, aber die API dafür kenne ich nicht. Vielleicht brauchst du dafür sogar Administrator-Rechte.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Re: String senden aber auf Ip Ebene

Beitrag von kiki »

Es gibt da in der Windows API einen Befehl für. Aber PB kennt den nicht.

IcmpSendEcho2Ex

Man müsste PB entweder mit der Funktion erweitern oder eine Alternative finden. Aber einen solchen Befehl meine ich. Wichtig ist da folgendes:

Code: Alles auswählen

SourceAddress [in]

    The IPv4 source address on which to issue the echo request. This address is in the form of an IPAddr structure.
Wenn ich die Mac ändern möchte, müsste ich auf Ebene 2 runter. Das funktioniert mit diesem befehl glaube ich nicht. Naja vllt gibts ja freeware die Macs ändert :D
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Re: String senden aber auf Ip Ebene

Beitrag von Mok »

kiki hat geschrieben:Es gibt da in der Windows API einen Befehl für. Aber PB kennt den nicht.

IcmpSendEcho2Ex
Nachdem scheinbar nicht die gesamte OS-API für PB gewrappt wurde, müsstest du mithilfe von Prototypen die Funktion auf eigene Faust wrappen, und die Structures gleich mit. Ist zwar eine Heidenarbeit, aber die einzige Möglichkeit :freak:
kiki hat geschrieben:Wenn ich die Mac ändern möchte, müsste ich auf Ebene 2 runter.
Man kann die MAC ändern? :shock:
Nur mal ne Frage: Wieso willst du die MAC-Adresse in einem IP-Datenpaket ändern?
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: String senden aber auf Ip Ebene

Beitrag von DarkDragon »

ICMP ist mit TCP und UDP über der IP Ebene. Mit RAW Sockets kann man selbst Pakete zusammenbauen (Muss allerdings auch alles selbst befüllen). Unter Windows wurden die jedoch leider eingeschränkt:

http://seclists.org/nmap-hackers/2005/4
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Re: String senden aber auf Ip Ebene

Beitrag von kiki »

Will die Serversicherheit meines Servers testen. Z.B. was bei Smurf-Attacken passiert.

Also z.B. in Opensuse könnte ich "RAW Sockets" verwenden. Wie würde das gehen? Hast du evtl. ein Beispiel oder einen Tip?
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: String senden aber auf Ip Ebene

Beitrag von NicTheQuick »

Mok hat geschrieben:Man kann die MAC ändern? :shock:
Ja, das geht bei vielen Netzwerkkarten. Unter Linux ist das sogar nur ein Konsolenbefehl. Frag mich aber jetzt nicht wie der ist. Hab die Zeile vor Ewigkeiten mal gesehen. ^^
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Re: String senden aber auf Ip Ebene

Beitrag von kiki »

NicTheQuick hat geschrieben:
Mok hat geschrieben:Man kann die MAC ändern? :shock:
Ja, das geht bei vielen Netzwerkkarten. Unter Linux ist das sogar nur ein Konsolenbefehl. Frag mich aber jetzt nicht wie der ist. Hab die Zeile vor Ewigkeiten mal gesehen. ^^
Soweit ich weiß ändert man nur den Buffer, in dem Linux die adresse Buffert, aber das kommt später.

Kurze Zwischenfrage: Wie viele anfragen brauche ich etwa um meinen Opensuse Linux Server lahm zu legen?
Antworten