Advertisement
Device-Cheat

security C

May 17th, 2020
1,043
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.29 KB | None | 0 0
  1. Welcome to: github.com/shfx17
  2.  
  3. CLIENT.c
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <errno.h>
  8. #include <unistd.h>
  9. #include <sys/socket.h>
  10. #include <netinet/in.h>
  11. #include <string.h>
  12. #include<syslog.h>
  13. #include<netdb.h>
  14. #include<arpa/inet.h>
  15. #define MAXLINE 4096
  16.  
  17. void err(char *s){
  18. char *bufor;
  19. sprintf(bufor," %s\n",s);
  20. sprintf(bufor,"%d\n",errno);
  21. sprintf(bufor,"%s\n",strerror(errno));
  22. syslog(LOG_NOTICE|LOG_USER,bufor);
  23. exit(-1);
  24. }
  25.  setlogmask(LOG_UPTO (LOG_NOTICE));
  26.  openlog("exampleprog", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);
  27. syslog(LOG_NOTICE,"Program started by User %d", stderr);
  28. syslog(LOG_INFO, "A tree falls in a forest");
  29. closelog();
  30.  
  31. struct hostent *hp;
  32. if((hp = gethostbyname(argv[1]))==NULL);
  33. {
  34. syslog(LOG_ERR,"hostnameerror");
  35. }
  36. printf("Host: %s\n", hp->h_name);
  37. char *ip = inet_ntoa(*((struct in_addr *)hp->h_addr));
  38. printf("IP Address %s\n", inet_ntoa(*((struct in_addr *)hp->h_addr)));
  39. if(inet_pton(AF_INET,ip,&servaddr.sin_addr)<0)
  40. {
  41. syslog(LOG_ERR,"Problem z formatem IP");
  42. exit(1);
  43. }
  44. struct servent *sp;
  45. sp = getservbyname(argv[2],"udp");
  46. printf("Port: %d \n", sp->s_port);
  47. if((servaddr.sin_port = htons(sp->s_port))<0)
  48. {
  49. syslog(LOG_ERR,"Zły format PORT");
  50. exit(1);
  51. }
  52. int main(int argc, char **argv)
  53. {
  54. int sockfd,n;
  55. char recvline[MAXLINE+1],buff[MAXLINE+1];
  56. struct sockaddr_in servaddr;
  57. if((sockfd = socket(AF_INET,SOCK_DGRAM,0))<0)
  58. {
  59. syslog(LOG_ERR,"Socket error");
  60. exit(1);
  61. }
  62. bzero(&servaddr, sizeof(servaddr));
  63. servaddr.sin_family = AF_INET;
  64. struct hostent *hp;
  65. if((hp = gethostbyname(argv[1]))==NULL);
  66. {
  67. syslog(LOG_ERR,"hostnameerror");
  68. }
  69. printf("Host: %s\n", hp->h_name);
  70. char *ip = inet_ntoa(*((struct in_addr *)hp->h_addr));
  71. printf("IP Address %s\n", inet_ntoa(*((struct in_addr *)hp->h_addr)));
  72. if(inet_pton(AF_INET,ip,&servaddr.sin_addr)<0)
  73. {
  74. syslog(LOG_ERR,"Problem z formatem IP");
  75. exit(1);
  76. }
  77. struct servent *sp;
  78. sp = getservbyname(argv[2],"udp");
  79. printf("Port: %d \n", sp->s_port);
  80. if((servaddr.sin_port = htons(sp->s_port))<0)
  81. {
  82. syslog(LOG_ERR,"Zły format PORT");
  83. exit(1);
  84. }
  85. while(1){
  86. bzero(buff,sizeof(buff));
  87. puts("Wyslij wiadomosc:");
  88. if(fgets (buff, sizeof(buff), stdin) != NULL)
  89. {
  90. if(sendto(sockfd,buff,strlen(buff), 0, (struct sockaddr *)&servaddr,
  91. sizeof(servaddr))<0)
  92. {
  93. syslog(LOG_ERR,"Blad sendto");
  94. exit(1);
  95. }
  96. else
  97. {
  98. printf("Wysłano: %s\n",buff);
  99. printf("Port poloczenia %d\n",servaddr.sin_port);
  100.  printf("Port poloczenia %d \n",servaddr.sin_addr);
  101. }
  102. recvline[n]=0;
  103. if((recvfrom(sockfd,recvline, MAXLINE, 0, NULL, NULL))<0)
  104. {
  105. syslog(LOG_ERR,"recvfrom error");
  106. exit(1);
  107. }
  108. else
  109. {
  110. puts("****************");
  111. printf("Otrzymałem: %s\n", recvline);
  112. setlogmask(LOG_UPTO (LOG_NOTICE));
  113. openlog("exampleprog", LOG_CONS | LOG_PID | LOG_NDELAY,
  114. LOG_LOCAL1);
  115. syslog(LOG_NOTICE,"Program started by User %d", stderr);
  116. syslog(LOG_INFO, "A tree falls in a forest");
  117. closelog();
  118. printf("Port poloczenia %d\n",servaddr.sin_port);
  119. printf("Port poloczenia %d \n",servaddr.sin_addr);
  120. }
  121. if(fputs(recvline, stdout) == EOF)
  122. syslog(LOG_ERR,"Nie dziala fputs");
  123. if(n < 0)
  124. {
  125. syslog(LOG_ERR,"Read error");
  126. exit(1);
  127. }
  128. }
  129. }
  130. if(close(sockfd)<0)
  131. {
  132. syslog(LOG_ERR,"Close sockfd");
  133. exit(1);
  134. }
  135. return 0;
  136. }
  137.  
  138. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  139. SERVER.c
  140.  
  141. #include <stdio.h>
  142. #include<stdlib.h>
  143. #include <errno.h>
  144. #include<unistd.h>
  145. #include <sys/types.h>
  146. #include<sys/socket.h>
  147. #include<netinet/in.h>
  148. #include<string.h>
  149. #include<syslog.h>
  150. #include<netdb.h>
  151. #define MAXLINE 4096
  152. #define LISTENQ 1024
  153.  
  154. int main (int argc, char **argv)
  155. {
  156. int listenfd;
  157. int len;
  158. struct sockaddr_in servaddr, cliaddr;
  159. char buff[MAXLINE],recvline[MAXLINE],z;
  160. if(argc !=2)
  161. {
  162. syslog(LOG_ERR,"Serverport");
  163. exit(1);
  164. }
  165. if((listenfd = socket (AF_INET, SOCK_DGRAM, 0 ))<0)
  166. {
  167. syslog(LOG_ERR,"Socket error");
  168. exit(1);
  169. }
  170. int nn= 240*1024;
  171. setsockopt(listenfd, SOL_SOCKET, SO_RCVBUF, &nn, sizeof(nn));
  172. bzero(&servaddr, sizeof(servaddr));
  173. puts("*");
  174. struct servent *sp;
  175. sp = getservbyname(argv[1],"udp");
  176. printf("Port nr: %d\n", sp->s_port);
  177. puts("**");
  178. servaddr.sin_family = AF_INET;
  179. servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
  180. if((servaddr.sin_port = htons(atoi(sp->s_port))<0))
  181. {
  182. syslog(LOG_ERR,"Zły port");
  183. exit(1);
  184. }
  185. if(bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr))<0)
  186. {
  187. syslog(LOG_ERR,"Bind error");
  188. exit(1);
  189. }
  190. while(1)
  191. {
  192. len = sizeof(cliaddr);
  193. printf("listendf %d \n", listenfd);
  194. if((recvfrom (listenfd, recvline, MAXLINE, 0 ,(struct sockaddr* )&cliaddr, &len))>0)
  195. {
  196. printf("Otrzymałem: %s \n",recvline);
  197. printf("Port poloczenia %d\n",servaddr.sin_port);
  198.  printf("Port poloczenia %d \n",servaddr.sin_addr);
  199.  int i, j;
  200. puts("***********************");
  201.  for(i = strlen(recvline) - 1, j = 0; i >= 0; i--, j++) {
  202.  buff[j] = recvline[i];
  203.  }
  204.  printf("Wysylam odpowiedz: %s\n", buff);
  205.  sendto(listenfd, buff, sizeof(buff), 0, (struct sockaddr *)&cliaddr, len);
  206. printf("Port poloczenia %d\n",servaddr.sin_port);
  207.  printf("Port poloczenia %d \n",servaddr.sin_addr);
  208. setlogmask(LOG_UPTO (LOG_NOTICE));
  209.  openlog("exampleprog", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);
  210.  syslog(LOG_NOTICE,"Program started by User %d", stderr);
  211.  syslog(LOG_INFO, "End syslog");
  212.  closelog();
  213. }
  214. }
  215. if(close(listenfd) == -1)
  216. {
  217. syslog(LOG_ERR,"Bład zamkniecia");
  218. exit(1);
  219. }
  220. return 0;
  221. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement