пишу tcp syn portscan в c
Когда я отправляю TCP Syn на существующий IP, он работает хорошо
Но когда я отправляю на ip, который не существует, функция sendto () <0 не работает, что за проблемы? </p>
Я использую кодовые блоки и gcc на ubuntu18
Это часть кода
//Create a raw socket
int s = socket (AF_INET, SOCK_RAW, IPPROTO_TCP);
//IP_HDRINCL to tell the kernel that headers are included in the packet
int one = 1;
const int *val = &one;
setsockopt (s, IPPROTO_IP, IP_HDRINCL, val, sizeof (one);
// send syn packet
if ( sendto (s, datagram, sizeof(struct iphdr) + sizeof(struct tcphdr), 0, (struct sockaddr *) &dest, sizeof (dest)) < 0){
{
printf ("Error sending syn packet. Error number : %d . Error message : %s \n",errno, strerror(errno));
exit(0);
}}
Когда я отлаживаю, чтобы увидеть возврат sendto (), это -1 ,
но если (sendto () <0) не работает, </p>