示例#1
0
文件: tcp.c 项目: 52piaoyu/dnscat2
int tcp_connect(char *host, uint16_t port)
{
  struct sockaddr_in serv_addr;
  struct hostent *server;

  /* Create the socket */
  int s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

  if (s == -1)
  {
    nbdie("tcp: couldn't create socket");
  }
  else
  {
    /* Look up the host */
    server = gethostbyname(host);
    if(!server)
    {
      s = -1;
      fprintf(stderr, "Couldn't find host %s\n", host);
    }
    else
    {
      /* Set up the server address */
      memset(&serv_addr, '\0', sizeof(serv_addr));
      serv_addr.sin_family = AF_INET;
      serv_addr.sin_port   = htons(port);
      memcpy(&serv_addr.sin_addr, server->h_addr_list[0], server->h_length);

      /* Connect */
      if (connect(s, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) < 0)
      {
        s = -1;
        nberror("tcp: couldn't connect to host");
      }
    }
  }

  return s;
}
示例#2
0
文件: types.c 项目: bitland/dnscat2
void nbdie(char *str)
{
  nberror(str);
  exit(EXIT_FAILURE);
}