1
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

WinSock Запросы

Тема в разделе "Программирование", создана пользователем K_NoW, 7 апр 2015.

  1. TopicStarter Overlay
    K_NoW

    K_NoW HackMe Please

    Регистрация:
    16 мар 2014
    Сообщения:
    464
    Симпатии:
    222
    Всем привет, смотрел свои исходники ратов, вобщем может кому пригодится:

    GET на ВинСокетах, возвращает сорец страницы:
    Код:
      Function HTTPget(host,param:string):string;
    var
    info: WSADATA;
    sin: sockaddr_in;
    sHwnd: integer;
    sBuff1:string;
    sBuff, rBuff: array [0..99999] of char;
    phe      : PHostEnt;
    begin
    WSAStartup(makeword(1,1),info);
    phe := gethostbyname(PChar(string(host)));
    sHwnd :=0;
    try
    sHwnd :=Socket(AF_INET, SOCK_STREAM, 0);
    IF sHwnd = INVALID_SOCKET then begin WSACleanup; exit; end;
    sin.sin_family:=AF_INET;
    sin.sin_port:=htons(80);
    sin.sin_addr   := PInAddr(phe.h_addr_list^)^;
    connect(sHwnd, sin, sizeof(sin));
    sbuff1:='GET '+param+' HTTP/1.1' + #13#10 +
    'Host: '+host+ #13#10 +
    #13#10;
    CopyMemory(@sBuff,pchar(sBuff1),length(sBuff1));
    send(sHwnd, sBuff, Length(sBuff), 0);
    recv(sHwnd, rBuff, Length(rBuff), 0);
    finally
    Result :=rBuff;
    Closesocket(sHwnd);
    WSACleanup;
    end;
    end;
    ПОСТ ЗАПРОС:
    Код:
    function HTTPpost(host,URL,data:string):string;
    var
    req{,data} : string;
    buf      : array[0..1500] of char;
    wData    : WSADATA;
    addr     : sockaddr_in;
    sock     : integer;
    error    : integer;
    phe      : PHostEnt;
    begin
    Result := '';
    WSAStartup($0101, wData);
    phe := gethostbyname(PChar(string(host)));
    if phe = nil then begin
        WSACleanup;
        exit;
    end;
    sock := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if sock = INVALID_SOCKET then begin
        WSACleanup;
        exit;
    end;
    addr.sin_family := AF_INET;
    addr.sin_port   := htons(80);
    addr.sin_addr   := PInAddr(phe.h_addr_list^)^;
    error := connect(sock, addr, sizeof(addr));
    if error = SOCKET_ERROR then begin
        closesocket(sock);
        WSACleanup;
        exit;
    end;
    req :='POST '+URL+' HTTP/1.1'#13#10+
          'Host: '+host+#13#10+
          'User-Agent: Opera/9.24 (Windows NT 5.1; U; en)'#13#10+
          'Content-Length: '+inttostr(length(data))+#13#10+
          'Content-Type: application/x-www-form-urlencoded'#13#10#13#10+data;
    if Send(Sock,pointer(req)^,length(req),0)=SOCKET_ERROR then exit;
    fillchar(buf,sizeof(buf),0);
    recv(Sock,buf,sizeof(buf),0);//sizeof(buf
    closesocket(Sock);
    result:=buf;
    end;
    ПРОВЕРКА ЕСТЬ ЛИ ИНЕТ НА КОМПЕ (100% РЕЗУЛЬТАТ):

    Код:
      Function IsConnect:bool;
    var
    info: WSADATA;
    sin: sockaddr_in;
    sHwnd: integer;
    begin
    WSAStartup(makeword(1,1),info);
    sHwnd :=Socket(AF_INET, SOCK_STREAM, 0);
    sin.sin_family:=AF_INET;
    sin.sin_port:=htons(80);
    sin.sin_addr.S_addr:=inet_addr('134.170.188.221');
    if connect(sHwnd, sin, sizeof(sin)) = SOCKET_ERROR then begin
      result :=false;
    end else begin
      result :=true;
    end;
    Closesocket(sHwnd);
    WSACleanup;
    end;
    ТРУ = есть, фалс = нет.

    Вот и всё.
     
    • Like Like x 3
    • Agree Agree x 1
    Метки:
  2. BloodWolf

    BloodWolf Команда форума

    Регистрация:
    29 май 2012
    Сообщения:
    425
    Симпатии:
    361
    Конектится к серверам майкрософта это конечно же "уровень" :ilthis:
     
    • Like Like x 2
  3. TopicStarter Overlay
    K_NoW

    K_NoW HackMe Please

    Регистрация:
    16 мар 2014
    Сообщения:
    464
    Симпатии:
    222
    гугл и майкрософт, 2 портала которые лягут только когда на всей земле свет отключится.
     
    • Agree Agree x 1
  4. [FUD]

    [FUD]

    Регистрация:
    28 авг 2013
    Сообщения:
    67
    Симпатии:
    4
    А какие параметры передавать? С хостом разобрался а параметр?) Извини, с сокетами не работал но очень интересует.
    Можно пожалуйста пример
     
  5. TopicStarter Overlay
    K_NoW

    K_NoW HackMe Please

    Регистрация:
    16 мар 2014
    Сообщения:
    464
    Симпатии:
    222
    httpPOST('хост','/путь к скрипту','паметр=значение&паметр1=значение1');
     
    • Like Like x 2
  6. [FUD]

    [FUD]

    Регистрация:
    28 авг 2013
    Сообщения:
    67
    Симпатии:
    4
    Обязательно нужно использовать ip сайта для 'хост' ? Вроде все правильно сделал но возвращает пустое место..
    httpGET('site.ru','/file.php','myid=1');
    Та же проблема и с GET запросом! Все по пустому.

    IsConnect работает на ура
     
  7. TopicStarter Overlay
    K_NoW

    K_NoW HackMe Please

    Регистрация:
    16 мар 2014
    Сообщения:
    464
    Симпатии:
    222
    хост это домен. отснифай, пройдсьь отладчиком, блин ну почему все коды которые я постил в инете работают только в меня.
     
  8. [FUD]

    [FUD]

    Регистрация:
    28 авг 2013
    Сообщения:
    67
    Симпатии:
    4
    Чем снифить? SmartSniff не канает, SocketSniff тоже нет.. wireshark отсталая и там почти ничего не понятно. К тому же своего запроса я там не нашел
     
  9. TopicStarter Overlay
    K_NoW

    K_NoW HackMe Please

    Регистрация:
    16 мар 2014
    Сообщения:
    464
    Симпатии:
    222
    Httpanalyzer
     
  10. [FUD]

    [FUD]

    Регистрация:
    28 авг 2013
    Сообщения:
    67
    Симпатии:
    4
    Именно он не канает.. это же через winsock а он вроде только HTTP запросы хотя функции их и отправляют. Вообщем сам не понимаю почему так но они там не отображаются.
     
  11. TopicStarter Overlay
    K_NoW

    K_NoW HackMe Please

    Регистрация:
    16 мар 2014
    Сообщения:
    464
    Симпатии:
    222
    Я хз почему они не работают, в мя троя работает на этих фциях и все гуд
     

Поделиться этой страницей

Загрузка...