Scripts amusants

Je me suis aperçu que depuis quelques temps beaucoup de tentatives de connexion (par exemple sur le port 23) Ă©taient originaires du Vietnam. 
Sur mon pare-feu f'ai la possibilitĂ© de "bloquer" les IP d'un pays entier et le Vietnam a rejoint la Russie et la Chine dans la liste des pays bloquĂ©s. 
J'ai voulu Ă©tablir un petit palmarĂšs des IP ayant tentĂ© au moins une connexion, Ces adresses IP sont enregistrĂ©es par Ntop et un petit script personnel stocke les IP enrichies dans une table spĂ©cifique. 
J'ai créé une table des pays "bloqués" au niveau du parefeu :

create table PAYS_BLOQUE 
(CODPAYS        char(2) 
) 
engine MyISAM; 
insert into PAYS_BLOQUE (CODPAYS) values ('CN'); 
insert into PAYS_BLOQUE (CODPAYS) values ('RU'); 
insert into PAYS_BLOQUE (CODPAYS) values ('VN');; 
insert into PAYS_BLOQUE (CODPAYS) values ('HK'); 
insert into PAYS_BLOQUE (CODPAYS) values ('BR'); 
commit;

En combinant cette "nouvelle" table avec la table "IPV4_DOMAINE" par un ordre SQL amusant :

select xx.CODPAYS,xx.CTR, 
        (case pb.CODPAYS 
        when pb.CODPAYS is null  then    'BLOQUE' 
        else '' end) BLOQUE 
from 
    (select CODPAYS,COUNT(*) CTR 
    from IPV4_DOMAINE 
    group by 1 
    ) xx 
left join PAYS_BLOQUE pb on (xx.CODPAYS = pb.CODPAYS )     
where xx.CTR > 150 
order by 2 desc ;

on obtient le palmarĂšs suivant :

+---------+------------------------+------+--------+ 
| CODPAYS | FR_NOM                 | CTR  | BLOQUE | 
+---------+------------------------+------+--------+ 
| US      | États-Unis             | 2757 |        | 
| CN      | Chine                  | 1317 | BLOQUE | 
| VN      | Viet Nam               | 1279 | BLOQUE | 
| BR      | BrĂ©sil                 | 1093 | BLOQUE | 
| FR      | France                 |  828 |        | 
| KR      | RĂ©publique de CorĂ©e    |  590 |        | 
| TW      | TaĂŻwan                 |  562 |        | 
| RU      | FĂ©dĂ©ration de Russie   |  558 | BLOQUE | 
| IN      | Inde                   |  434 |        | 
| TR      | Turquie                |  321 |        | 
| NL      | Pays-Bas               |  266 |        | 
| CO      | Colombie               |  236 |        | 
| RO      | Roumanie               |  223 |        | 
| DE      | Allemagne              |  211 |        | 
| PH      | Philippines            |  166 |        | 
+---------+------------------------+------+--------+ 
15 rows in set, 4 warnings (1,93 sec)

Les pays bloquĂ©s sont parmi les leaders en nombre d'IP ayant tentĂ© d'Ă©tablir des connexions. 
Plus de 1300 adresses chinoises , presque 1300 adresses vietnamiennes et plus de 1000 adresses brĂ©siliennes ont tentĂ© de se connecter et ont Ă©tĂ© rejetĂ©es par le parefeu. 
J'ai controlĂ© par ailleurs qu'aucune adresse de ces pays n'avait recu un octet en retour (sum(OUT_BYTES)) reste Ă  zĂ©ro. On voit aussi dans ce tableau que les russes sont en baisse, ils se consacrent probablement Ă  des activitĂ©s plus "rentables" que de tenter de pĂ©nĂ©trer les machines des autres. 
Les brĂ©siliens, comme les vietnamiens sont relativement nouveaux mais arrivent fort eux aussi. 
Pour s'amuser un peu plus et voir quels ports sont les plus utilisĂ©s voir ici. 
J'ai utilisé ici encore une nouvelle table pour avoir les noms des pays en clair :

desc PAYS; 
+-----------+-------------+------+-----+---------+-------+ 
| Field     | Type        | Null | Key | Default | Extra | 
+-----------+-------------+------+-----+---------+-------+ 
| CODPAYS   | char(2)     | NO   | PRI |         |       | 
| CODPAYS_3 | char(3)     | YES  |     | NULL    |       | 
| ENG_NAME  | varchar(40) | YES  |     | NULL    |       | 
| FR_NOM    | varchar(40) | YES  |     | NULL    |       | 
+-----------+-------------+------+-----+---------+-------+

Cette table ("dump" Mysql) est disponible ici en téléchargement.