• 06-02-2021, 13:13:08
    #1
    void OnBufferedRead(struct bufferevent *bev, void *arg) {
    struct Poll *poll=(struct Poll *)arg;
    struct evbuffer *buffer = EVBUFFER_INPUT(bev);
    u_char *data = EVBUFFER_DATA(buffer);
    u_int len = EVBUFFER_LENGTH(buffer);
    fprintf(stderr,cBLUE"%s:%d - "cEND,ipString(poll->IP),poll->port);
    if(evbuffer_find(buffer,Pattern,PatternLen)) {
    fprintf(fp,"%s:%d\n",ipString(poll->IP),poll->port);
    fflush(fp);
    fprintf(stderr,cGREEN" TRUE\n"cEND);
    } else {
    fprintf(stderr,cRED" FALSE"cEND);
    }
    
    OnBufferedError(bev, EV_TIMEOUT,arg);
    }
    Selamlar.

    üstteki kodda buffer içinde aradığımız kelime geçiyorsa ekrana true yazdırıp ip'yi txt'ye kaydediyor.

    benim istedigim şey ise txt'ye ip'yi yazdırmak yerine bufferi yazdırmak. yani yapılan istekte gelen cevapları txt'ye yazdırmak istiyorum.


    yardımcı olan arkadaşlara şimdiden teşekkürler
  • 07-02-2021, 03:14:13
    #2
    8. satırda fprintf içine bufferı vermelisiniz:
    fprintf(fp,"%s:%dn",ipString(poll->IP),poll->port);
    fprintf(fp,"%sn",buffer);

    Kodu eksik paylaşmışsınız o yüzden buffer yazdığım kısmı kendi değişkeninizle değiştirebilirsiniz.
  • 07-02-2021, 13:20:39
    #3
    rcu adlı üyeden alıntı: mesajı görüntüle
    8. satırda fprintf içine bufferı vermelisiniz:
    fprintf(fp,"%s:%dn",ipString(poll->IP),poll->port);
    fprintf(fp,"%sn",buffer);

    Kodu eksik paylaşmışsınız o yüzden buffer yazdığım kısmı kendi değişkeninizle değiştirebilirsiniz.
    bende denedim bunu olmuyor hocam

    script:
    https://raw.githubusercontent.com/ka...h/proxy_scan.c
  • 07-02-2021, 20:51:23
    #4
    struct evbuffer, bu structun içeriğini bilmeden bufferi yazdırmak pek mümkün olmaz diye düşünüyorum, structun tanımlandığı yere gidip asıl bufferı tutan değişkeni bulup onu yazdırın.