kann man tcp-pakete "selber" machen?

Dieses Thema im Forum "Internet, lokale Netzwerke und Wireless Lan" wurde erstellt von oyster-manu, 14.10.2005.

  1. #1 oyster-manu, 14.10.2005
    oyster-manu

    oyster-manu toast

    Dabei seit:
    26.06.2003
    Beiträge:
    1.055
    Zustimmungen:
    0
    gibt es eine möglichkeit mit linux-boardmitteln ein tcp-paket nach eigenen wünschen zu gestalten (z.b inhalt nur aus nullen) und an eine beliebige IP zu verschicken?

    manu
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. sono

    sono Sack Flöhe Hüter

    Dabei seit:
    31.01.2004
    Beiträge:
    1.299
    Zustimmungen:
    0
    Ort:
    http://webfrap.de
    Versuchs mal mit irpas , nemesis oder netsed .

    Da gibts einiges . Wenn du was programmieren willst dann gibts einige libs.

    Schau mal in deinem Packetmanager nach . Such einfach nach tcp.
     
  4. #3 damager, 15.10.2005
    damager

    damager Moderator

    Dabei seit:
    27.08.2003
    Beiträge:
    3.065
    Zustimmungen:
    0
    Ort:
    Munich
  5. #4 oyster-manu, 16.10.2005
    oyster-manu

    oyster-manu toast

    Dabei seit:
    26.06.2003
    Beiträge:
    1.055
    Zustimmungen:
    0
    danke, ich werds mir mal anschauen.
     
  6. #5 Wolfgang, 16.10.2005
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Ich würde mal hping3 versuchen.
    Denke das ist etwas für solche Dinge.

    Gruß Wolfgang
     
  7. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Bau dir einfach ein kleines Programm mit Raw-Socket und schon kannst du auch deine Pakete fuer den Socket selber "bauen".
     
  8. #7 oyster-manu, 17.10.2005
    oyster-manu

    oyster-manu toast

    Dabei seit:
    26.06.2003
    Beiträge:
    1.055
    Zustimmungen:
    0
    dazu müsste man erstmal programmieren können...
     
  9. sono

    sono Sack Flöhe Hüter

    Dabei seit:
    31.01.2004
    Beiträge:
    1.299
    Zustimmungen:
    0
    Ort:
    http://webfrap.de
    http://www.pronix.org :devil:

    Denke mal wenn du mit netzwerken spielen willst bietet sich c an.
    So wild ist das nicht.
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. #9 Goodspeed, 17.10.2005
    Goodspeed

    Goodspeed Foren Gott
    Moderator

    Dabei seit:
    21.04.2004
    Beiträge:
    4.165
    Zustimmungen:
    1
    Ort:
    Dresden
    Mir würde spontan netcat einfallen ...
     
  12. #10 MrFenix, 18.10.2005
    MrFenix

    MrFenix Executor

    Dabei seit:
    16.10.2004
    Beiträge:
    480
    Zustimmungen:
    0
    Ort:
    Siegen, NRW
    Für UDP, in meinem schlamp stil und ohne Kommentare, aber könnte helfen:
    Code:
    #include <sys/socket.h>
    #include <sys/types.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <iostream>
    #include <errno.h>
    #include <string.h>
    #include <linux/ip.h>
    #include <linux/udp.h>
    
    using namespace std;
    
    int main(int argc, char* arg[]) {
    	
    	
    	if (argc != 4) {
    		cout << "usage: sdos <targetip> <sourceip> <port>" << endl;
    		return -1;
    	}
    		
    	iphdr * ipHeader = (iphdr*)calloc(1, sizeof(iphdr));
    	udphdr * udpHeader = (udphdr*)calloc(1, sizeof(udphdr));;
    	
    	int sockd = socket(AF_INET, SOCK_RAW, IPPROTO_UDP);
    	char on = 1;
    	setsockopt(sockd,IPPROTO_IP,IP_HDRINCL,&on,sizeof(on));
    	
    	string msg = "ASTALAVISTA";
    		
    	srand(time(NULL)+clock()*rand());
    	
    	ipHeader->version = 4;
    	ipHeader->ihl = 5;
    	ipHeader->tos = 0;
    	ipHeader->id = 1+(int)(65535.0 * rand() / (1.0 + RAND_MAX));
    	ipHeader->ttl = 128;
    	ipHeader->protocol = IPPROTO_UDP;
    	ipHeader->check = 0;
    	ipHeader->saddr = inet_addr(arg[2]);
    	ipHeader->daddr = inet_addr(arg[1]);
    	
    	udpHeader->source = 0;
    	udpHeader->dest = htons(atoi(arg[3]));
    	udpHeader->len = htons(sizeof(udphdr)+strlen(msg.c_str()));
    	udpHeader->check = 0;
    			
    	ipHeader->tot_len = sizeof(iphdr)+sizeof(udphdr)+strlen(msg.c_str());
    	
    	char * packet = (char*)calloc(ipHeader->tot_len, sizeof(char));
    	
    	strcpy(packet, "");
    	memmove(packet, ipHeader, sizeof(iphdr));
    	memmove(packet+sizeof(iphdr), udpHeader, sizeof(udphdr));
    	memmove(packet+sizeof(iphdr)+sizeof(udphdr), msg.c_str(),                                                      strlen(msg.c_str()));
    	
    	int i;
    	cout << "Packet:" << endl;
    	for (i = 0; i<ipHeader->tot_len; i++) {
            	cout << packet[i];
            }
    	
    	sockaddr_in * tar = (sockaddr_in*)calloc(1, sizeof(sockaddr_in));
    	
    	tar->sin_port = htonl(atoi(arg[3]));
    	tar->sin_family = AF_INET;
    	tar->sin_addr.s_addr = inet_addr(arg[1]);
    		
    	cout << endl << "Packetsize: " << i << endl;
    	cout << "Bytes sent: " << sendto(sockd, packet, ipHeader->tot_len, 0, (sockaddr*)tar, sizeof(sockaddr_in)) << endl;
    	cout << "Last Error: " << strerror(errno) << endl;
    	
    	
    	return 0;
    	
    }
    
     
Thema:

kann man tcp-pakete "selber" machen?

Die Seite wird geladen...

kann man tcp-pakete "selber" machen? - Ähnliche Themen

  1. Wie kann ich x Zeichen hinter einem bestimmten Wort ausgeben ?

    Wie kann ich x Zeichen hinter einem bestimmten Wort ausgeben ?: In mehreren Dateien ist immer mehrfach ein bestimmtes Wort enthalten, gefolgt von einem "=". Ich möchte mir die dahinter folgenden 10 Zeichen...
  2. Wie kann ich das RAM löschen?

    Wie kann ich das RAM löschen?: Wie kann ich das RAM löschen? Danke im Vorraus
  3. Nicht erkannte Zeichen nach Update

    Nicht erkannte Zeichen nach Update: Hi, nachdem ich mein Kali Linux geupdated habe, ist mir aufgefallen dass viele Zeichen auf verschiedenen Nutzeroberflächen nur fehlerhaft...
  4. Bq Aquaris M10 Tablet mit Ubuntu Touch kann vorbestellt werden

    Bq Aquaris M10 Tablet mit Ubuntu Touch kann vorbestellt werden: Seit dem gestrigen Ostermontag kann das erste Tablet mit Ubuntu Touch und Konvergenz vorbestellt werden. Weiterlesen...
  5. Ethernet wird nicht erkannt

    Ethernet wird nicht erkannt: Ich habe das Problem, dass die Netzwerk karte von keinem System mehr geladen wird. Vor zwei Tagen habe ich das Netzteil vom Pc, das etwa eine...