« LINUX:Script Lookup » : différence entre les versions
(Page créée avec « =But= Exemple de script qui sur base d'un fichier contenant une liste d'adresses IP, on retourne dans un fichier tabulé, le pays d'origine et le nom de la machine si elle… ») |
Aucun résumé des modifications |
||
(3 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
__FORCETOC__ | |||
---- | |||
''→ [[LINUX:Géolocalisation IP|retour au menu de la Géolocalisation IP]]'' | |||
---- | |||
=But= | =But= | ||
Exemple de script qui sur base d'un fichier contenant une liste d'adresses IP, on retourne dans un fichier tabulé, le pays d'origine et le nom de la machine si elle est référencée dans le DNS. | Exemple de script qui sur base d'un fichier contenant une liste d'adresses IP, on retourne dans un fichier tabulé, le pays d'origine et le nom de la machine si elle est référencée dans le DNS. | ||
Ligne 7 : | Ligne 11 : | ||
=Script= | =Script= | ||
Ce script utilise la commande "nslookup" pour interroger le DNS et la commande "mmdblookup" pour retrouver le pays via la géolocalisation. | Ce script utilise la commande "nslookup" pour interroger le DNS et la commande "mmdblookup" pour retrouver le pays via la géolocalisation. Le fichier texte contenant les adresses IP se nomme "listeip.txt". Une grande partie est consacrée à la mise en page, partie qui pourrait être optimisée. | ||
Contenu du script: | Contenu du script: | ||
---- | ---- | ||
#!/bin/bash | #!/bin/bash | ||
cd /manager/ossec | cd /manager/ossec | ||
# récupérer la liste des adresses IP | # récupérer la liste des adresses IP | ||
listeip=`/usr/bin/cat listeip | listeip=`/usr/bin/cat listeip.txt` | ||
/usr/bin/echo NSLOOKUP > ns.lis | /usr/bin/echo NSLOOKUP > ns.lis | ||
# bouclage sur chaque adresse IP | # bouclage sur chaque adresse IP | ||
Ligne 62 : | Ligne 66 : | ||
---- | ---- | ||
'' | ''→ [[LINUX:Géolocalisation IP|retour au menu de la Géolocalisation IP]]'' | ||
---- | |||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
[[Category:LINUX]] | [[Category:LINUX]] |
Dernière version du 13 février 2022 à 17:59
→ retour au menu de la Géolocalisation IP
But
Exemple de script qui sur base d'un fichier contenant une liste d'adresses IP, on retourne dans un fichier tabulé, le pays d'origine et le nom de la machine si elle est référencée dans le DNS. Pour ma part, le système me retourne des adresses IP qui tentent d'effectuer des opérations frauduleuses. On peut y repérer les pays les plus représentés et éventuellement adapter le mur de feu (FireWall). Par la même occasion, on peut corriger le tir.
Script
Ce script utilise la commande "nslookup" pour interroger le DNS et la commande "mmdblookup" pour retrouver le pays via la géolocalisation. Le fichier texte contenant les adresses IP se nomme "listeip.txt". Une grande partie est consacrée à la mise en page, partie qui pourrait être optimisée.
Contenu du script:
#!/bin/bash cd /manager/ossec # récupérer la liste des adresses IP listeip=`/usr/bin/cat listeip.txt` /usr/bin/echo NSLOOKUP > ns.lis # bouclage sur chaque adresse IP for ip in $listeip do # IP IP=`/usr/bin/printf "%-15s" $ip` # NsLookup /usr/bin/nslookup $ip > ns.tmp /usr/bin/sed -i '/^$/d' ns.tmp /usr/bin/grep -v "server can't find" ns.tmp | /usr/bin/grep -v Authoritative > ns1.tmp NSL=`/usr/bin/cat ns1.tmp | /usr/bin/awk '{printf("%s",$4)}'` # GeoIP2 # code pays /usr/bin/mmdblookup --ip $ip --file /usr/share/GeoIP/GeoLite2-Country.mmdb country iso_code > ns21.tmp /usr/bin/sed -i '/^$/d' ns21.tmp /usr/bin/sed -i 's/<utf8_string>/ /g' ns21.tmp /usr/bin/sed -i 's/"/ /g' ns21.tmp NSG1=`/usr/bin/cat ns21.tmp | /usr/bin/awk '{printf("%s",$1)}'` # nom du pays /usr/bin/mmdblookup --ip $ip --file /usr/share/GeoIP/GeoLite2-Country.mmdb country names fr > ns22.tmp /usr/bin/sed -i '/^$/d' ns22.tmp /usr/bin/sed -i 's/<utf8_string>/ /g' ns22.tmp /usr/bin/sed -i 's/"/ /g' ns22.tmp /usr/bin/sed -i 's/ /_/g' ns22.tmp /usr/bin/sed -i 's/__/=/g' ns22.tmp /usr/bin/sed -i 's/=_/ /g' ns22.tmp NSG2=`/usr/bin/cat ns22.tmp` /usr/bin/printf "%-25s" $NSG2 > ns23.tmp /usr/bin/sed -i 's/_/ /g' ns23.tmp NSG2=`/usr/bin/cat ns23.tmp` # impression /usr/bin/echo -e "${IP}\t${NSG1}\t${NSG2}\t${NSL}" >> ns.lis done # tri par code pays sort -k 2 ns.lis -o nss.lis # nettoyage /usr/bin/rm -f ns.tmp /usr/bin/rm -f ns1.tmp /usr/bin/rm -f ns21.tmp /usr/bin/rm -f ns22.tmp /usr/bin/rm -f ns23.tmp
→ retour au menu de la Géolocalisation IP