sådan skal de bruge dns blocklists til påvisning af spam

, en af de løsninger, at spam er en - hyppigt opdateret - database med ip - adresser, der ser ud til at være uartig.denne database skal helst være tilfældig tilgængelige ved høj hastighed.dns tilbyder en løsning for det. indførelse. heldigvis har fundet svar på internettet immens voksende spam.en løsning er en - hyppigt opdateret - database med ip - adresser, der ser ud til at være uartig.denne database skal helst være tilfældig tilgængelige ved høj hastighed.dns tilbyder en løsning for det., dns angivelser kan ajourføres, hurtigt.også for det meste er der ingen grund til at downloade en kopi af den potentielt store) database, ofte.hvis en mail server kan detektere, i en brøkdel af et sekund, at de sender ip er for øjeblikket opført, f.eks. fordi det var smittet med en virus og anvendes som åben - det kan effictively blok modtagelse. en kendt dnsbl udbyder er spamhouse.org.for en (fuldstændig) liste over dnsbl udbydere, se her, anvendelse, både smtp - servere og post kunder (eller postkasse rengøringspersonale) kan anvende denne metode.den vej, en post gik altid er oplagret, så du altid kan finde ip.dette er en afgørende del af smtp - protokol. ved hjælp af pop3 protokol, kan du se en postkasse, top (top: hent kun beskeden header) rør af meddelelser, og se, om de er opført på det " modtaget fra somehost (1.2.3.4) " linjer. da disse spam databaser kan opdateres jævnligt, at de effektivt kan påvise en stor del (> 50%?af spam. hvordan fungerer det, dybest set, hvad du skal gøre er at kontrollere mod en dnsbl (dns blocklist) kilde, som www.spamhaus.org.dette sker på følgende måde: hvis du ønsker at kontrollere, om ip - adresse 60.70.80.90 er en spammer, du skal bare udføre en dns forespørgsel til sbl.spamhaus.org med (omvendt) ip - adresse indsættes som forespørgsel dns: 90.80.70.60.sbl.spamhaus.org, hvis du kommer tilbage en rekord, dette er en spammer.hvis du kommer tilbage, ikke i up ikke om spam liste., afprøve den, du let kan kontrollere dette ved hjælp af "ping" kommando. hvis du ville gøre:, ping 90.80.70.60.sbl.spamhaus.org, så er der to muligheder: *, du får "ukendt vært" besked.det er okay, up ikke er sortlistet., * du 127.0.0. x, hvor x er > 1, som 127.0.0.2.x er en status, kode.generelt 2 anvendes for (delvis) permanent netblocks og 4 anvendes til åbne indikatorer (som: maskiner, smittet med en virus). f.eks. jeg bruger denne enhed med held i en post - klient.lubos har integreret denne enhed med held i en smtp - /pop3 - suiten. du kan bruge denne enhed, med eller uden synapse tcp /ip - biblioteket ved at definere synapse} {$direktiv., spamchck.pas, enhed spamchck; interface, //spørgsmål er spamhaus.org database af spammere bruger klasser, sysutils, {$ifdef synapse} synautil, synsock {$andet} winsock ($endif}, type,    tspamcheck = klasse (tobject),    beskyttet,    offentlige,      fdnsbl: string; //dns blocklist,      konstruktøren skabe;,      funktion isspammer (undersøgelsesperioden: string): heltal overbelastning,      funktion; isspammer (mailheader: tstrings): heltal overbelastning,   ;,,, gennemførelse, (tspamcheck}, konstruktøren tspamcheck. skabe; begynder,   inherited;,   FDNSBL := 'sbl-xbl.spamhaus.org';,   //alternatively use sbl.spamhaus.org (spam) or,   //xbl.spamhaus.org (open relays, proxys),   //or an alternative source DNSBL source.,   //the sbl-xbl is the combined list., end;, function TSpamCheck.IsSpammer(IP: String): Integer;, var RevIP:String;,     i:Integer;,     p:PHostEnt;, begin,   //Query the database,   //First, reverse the IP,   Result := -1;,   {$IFDEF SYNAPSE},   if IsIP (IP) then,   {$ENDIF},     begin,       //Reverse the IP,       RevIP := '';,       for i:=0 to 2 do,         begin,           RevIP := '.'+Copy (IP, 1, pos ('.', IP)-1) + RevIP;,           IP := Copy (IP, pos('.', IP)+1, maxint),         ;,        revip: = ip + revip;,        //nu, søge i databasen:,        revip: = revip + «. » + fdnsbl;,        p: = gethostbyname (pchar (revip), hvis der        (p),          begynder //resultaterne kommer tilbage som 127.0.0. x, hvor x er > 1,                ////////////////127.0.0.2 = spam,                127.0.0.4 = åbne relæ osv.            resultat: = byte (p). h_addr ^. s_un_b. s_b4),         ,        andet /ikke dns indrejse, mark, det sikkerhed:,          resultat: = 0,     ;,;, funktion tspamcheck. isspammer (mailheader: tstrings): heltal, var v, ip: string;,      i, r: heltal, begynder,    //analysere en e - mail - header,    //look for modtaget header,    //ekstrakt ip - adresse, hvis form "modtaget fra (a.b.c.d) af (w.x.y.z),    //validering af denne ip - adresse på spamhaus.,    jeg: = 0,    resultat: = - 1,   , mens jeg < mailheader.count,      begynder,        hvis producentorganisationer ('received:" små (mailheader [i]) = 1,          begynder,            v: = mailheader [i],            //efter supplerende headers:,            og (i + 1) < mailheader. tæl), og                  (mailheader (i + 1] < > "), og                  (mailheader (i + 1] [1] ="),              begynder,                inc. (i),                v: = v + mailheader [i],             end;,           //v now contains one line, find from ip address:,           v := lowercase (v);,           //searching for:,           //Received: from somehost.com (1.2.3.4).,           v := copy (v, pos ('from', v)+4, maxint);,           v := copy (v, pos ('(', v)+1, maxint);,           v := copy (v, 1, pos (')', v)-1);,           if pos ('[', v)>0 then,             //valid format is also:,             //Received: from somehost.com (somehost.com [1.2.3.4]),             begin,               v := copy (v, pos ('[', v)+1, maxint);,               v := copy (v, 1, pos (']', v)-1);,             ;,            resultat: = isspammer (v),            //en enkelt modtaget linje er tilstrækkelig, hvis resultat            > 0,              pauser,            //,         ;,        inc. (i),     ;,,,.,



Previous:
Next Page: