oyster-manu
toast
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
manu
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion erfordert derzeit den Zugriff auf die Seite über den integrierten Safari-Browser.
#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;
}