linux socket source
2009. 8. 5. 17:22
쓸때마다 매번 찾는게 귀찮아서..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #include <stdio.h> #include <stdlib.h> #include <arpa inet.h=""> #include <unistd.h> #include <string.h> #include <sys types.h=""> #include <sys socket.h=""> #define SERVER "xxx.xxx.xxx.xxx" #define PORT "xxxx" #define TRUE 1 void error_handling( char *message); int main( int argc, char **argv) { int i,sock; char exploit[]= "" ; unsigned char recv[512]= {0, }; int str_len; int option; socklen_t optlen; /************* socket initialize and connect ****************/ struct sockaddr_in serv_addr; sock=socket(PF_INET, SOCK_STREAM, 0); if (sock == -1) error_handling( "socket() error" ); optlen = sizeof (option); option = TRUE; setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &option, sizeof (option)); memset (&serv_addr, 0, sizeof (serv_addr)); serv_addr.sin_family=AF_INET; serv_addr.sin_addr.s_addr=inet_addr(SERVER); serv_addr.sin_port=htons( atoi (PORT)); if (connect(sock, ( struct sockaddr*)&serv_addr, sizeof (serv_addr))<0) error_handling( "connect() error!" ); /****************** main start ********************/ if ((str_len = read(sock, recv, 64))==0) //Read 1 error_handling( "read() error!" ); recv[str_len]=0; printf ( "Message from server : %s \n" , recv); if ((str_len = read(sock, recv, 64))==0) //Read 2 error_handling( "read() error!" ); recv[str_len]=0; printf ( "Message from server : %s \n" , recv); if ((str_len = write(sock, first, strlen (first))) == -1) ///write 1 error_handling( "write() error" ); if ((str_len = read(sock, recv, 64))==0) //Read 3 error_handling( "read() error!" ); recv[str_len]=0; printf ( "Message from server : %s \n" , recv); close(sock); return 0; } void error_handling( char *message) { fputs (message, stderr); fputc ( '\n' , stderr); exit (1); } </sys></sys></string.h></unistd.h></arpa></stdlib.h></stdio.h> |
'OS > Linux' 카테고리의 다른 글
redhat 9.0 networking problem in vmware (0) | 2010.06.20 |
---|---|
about Signal (0) | 2009.12.09 |
Advanced Programming in the Unix Environment (0) | 2009.12.02 |
APUE 7장 연습문제 (0) | 2009.11.27 |
codegate 2009. hamburger (0) | 2009.08.14 |
binary analysis in linux box without symbol (0) | 2009.06.15 |