Newsgroup: it.news.net-abuse
Titolo: da dove mi arriva lo spam

Ho fatto un po' di statistiche usando questo come DB per gli IP
http://ip-to-country.webhosting.info/node/view/6
E il risultato č:
** Most Blocked Mail by Sender Country  > 0.5% **
11.009%    INDIA
7.821%    BRAZIL
6.669%    VIET NAM
4.816%    ROMANIA
4.016%    REPUBLIC OF KOREA
3.510%    RUSSIAN FEDERATION
2.569%    GERMANY
2.264%    INDONESIA
2.247%    PAKISTAN
2.240%    POLAND
2.143%    ARGENTINA
1.940%    UKRAINE
1.673%    FRANCE
1.513%    ISRAEL
1.500%    TAIWAN
1.261%    ITALY
0.975%    BELARUS
0.891%    BANGLADESH
0.841%    SERBIA
0.791%    SAUDI ARABIA
0.787%    UNITED STATES
0.730%    SPAIN
0.568%    CHINA
0.568%    UNITED KINGDOM
0.554%    TURKEY
0.549%    41.140.161.215
0.545%    THAILAND
0.524%    COLOMBIA
0.506%    CHILE
-- 
Gerolamo 

 
http://ip-to-country.webhosting.info/node/view/6
Bisognerebbe differenziare un minimo le cose; suppongo che quella che
hai riportato sia una statistica basata sugli indirizzi IP "finali" ossia 
quelli
che consegnano la mail al server SMTP destinazione; sarebbe interessante
secondo me, provare a fare la stessa cosa con gli IP origine, ossia quelli
che hanno in effetti spedito un dato messaggio (ovvio che nel caso in cui
si tratti di direct-to-mx le cose non cambierebbero, ma in altri casi... 
;-D)
PS: a proposito di IP-to-country 
http://countries.nerd.dk/
 le varie zone
sono scaricabili usando rsync... oppure puoi usarle "online" tramite delle
semplici queries DNS (nel tuo caso credo ti servirà la "zz.countries...")

 "zz.countries...")
Ci do un occhio, ma, visto che la cosa è utile solo come curiosità,
magari non lo faccio proprio subito... comunque grazie.
-- 
Gerolamo 

 Sono i primi o gli ultimi, dal tuo punto di vista?
Non è che esista un "punto di vista". Quelli sono gli ultimi in quanto
trattasi del server che consegna la mail a te, non il client che te la
invia.
Se 
p.es
. c'è un server italiano abusato ma l'IP che lo abusa è
brasiliano, dalla tua statistica quello spam risulta inviato dall'Italia
laddove invece trattasi di spam originato in Brasile.
Per fare statistiche sui punti di immissione dovresti verificare il
primo header Received che non contenga indirizzi IP privati,
considerando che il primo Received è in realtà l'ultimo della sequenza.
Il gioco comunque non vale la candela :-)
-- 
Flavio Visentin
2006: l'onestà  2007: la storia  2008: la leggenda  2009: il mito epico
2010: l'apoteosi!! 3 TITULI!!! Scudetto, Coppa Italia, Champions League
   Far rodere un cretino come ponziopilato è godurioso come 4 TITULI!

> Il gioco comunque non vale la candela :-)
Lo so, ed è ben più complesso, specie considerando i giochini
che spesso chi spamma fa con gli headers <g> in qualsiasi caso,
visto che Gerolamo sembra in vena di statistiche, sarebbe (credo)
interessante (dal punto di vista puramente accademico) vedere
come variano quelle percentuali se calcolate in base al paese di
iniezione della mail e non a quello di emissione della stessa

 invia.
Esatto; l'IP visto dal server MX ricevente è l'ultimo, ossia quello
del server di emissione, ma l'IP origine della email potrebbe (anzi
di norma è) diverso e va ricavato controllando gli headers al fine
di risalire al primo indirizzo IP (non privato), come appunto hai
scritto; il tutto ovviamente tenendo presente il fatto che in alcuni
casi gli spammers cercano di aggiungere headers "received" del
tutto farlocchi

 semplici queries DNS (nel tuo caso credo ti servirà la "zz.countries...")
Già che ci siamo; se ti interessa estrarre dati dagli IP e se stai facendo 
il
tutto tramite un qualche script Perl, potresti dare un'occhiata a questo
modulo
http://search.cpan.org/~msergeant/Net-SenderBase-1.01/lib/Net/SenderBase.pm
usando quel modulo potresti anche essere in grado di reperire "di chi è"
un dato IP (ok... blocco di IP) e dettagliare ulteriormente i dati che stai
estraendo... magari per capire chi sono i "cattivi" :) .. ok, si fa per dire

 magari non lo faccio proprio subito... comunque grazie.
Beh, per usare quella lista puoi scaricartela il locale ed usarla oppure
fare dei normali lookup DNS, in quest'ultimo caso, dato un indirizzo
IP come ad esempio 1.2.3.4, per ricavarne il paese di appartenenza
dovrai rovesciarlo aggiungendo allo stesso il suffisso DNS della zona
ed ottenendo "
4.3.2.1.zz.countries.nerd.dk
" quindi usando tale "host
name" potrai avviare una query DNS di tipo A o TXT; nel primo caso
riceverai come risposta un codice tra quelli elencati qui
http://countries.nerd.dk/isolist.txt
nel secondo (query "TXT") riceverai direttamente il "TLD" relativo al
paese di appartenenza dell'indirizzo IP (es. "it"); come vedi non ci vuole
poi molto :)

 Il gioco comunque non vale la candela :-)
Concordo e rispondo così anche a ObiWan:
sarebbe interessante, ma il rapporto curiosità / impegno temo
sia troppo elevato...
-- 
Gerolamo 


Carino.
Carino anche questo:
http://www.senderbase.org/
che non conoscevo
Comunque lo script è in python ed è una evoluzione di questo:
http://sourceforge.net/projects/plogpy/
che ho sviluppato taaanto taaanto tempo fa :)
Non ho ancora fatto il commit delle modifiche, però, perchè ci
sono alcune personalizzazioni proprie dei miei server e in più
stavo cercando di convertire il progetto da SVN a Mercurial
(non riuscendoci). Ma prima o poi lo faccio...
-- 
Gerolamo