Created
May 1, 2016 22:15
-
-
Save iolloyd/df7ab9ad3a2b4d522fba6bb4dfe56b82 to your computer and use it in GitHub Desktop.
sniff packets in c
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int main() | |
{ | |
int dsize, saddr_size; | |
struct sockaddr saddr; | |
struct in_addr in; | |
unsigned char *buf = (unsigned char *)malloc(65536); | |
if((raw_socket = socket(AF_INET , SOCK_RAW , IPPROTO_TCP) < 0) | |
{ | |
printf("Socket Error\n"); | |
return 1; | |
} | |
while(1) | |
{ | |
saddr_size = sizeof saddr; | |
dsize = recvfrom(sock_raw , buffer , 65536 , 0 , &saddr , &saddr_size); | |
if(data_size < 0) | |
{ | |
printf("Recvfrom error: failed to get packets\n"); | |
return 1; | |
} | |
// If we get here, process(buffer, dsize) ... | |
} | |
close(raw_socket); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment