Informations :
Dates
- Publish : : Friday 14 december 2018
- Modification : Friday 14 december 2018
- 393 views
Share :
Retourne un tableau PHP des IPv4 d'un réseau grâce à la commande nmap
puis ping6
une adresse IPv6 par IPv4 trouvée. Stoke les valeurs dans un fichier et le modifie si les valeurs ont étés modifiés.
Faire cela sur un réseau local (sur des adresses privées)
10.0-255.0-255.0-255
192.168.0-255.0-255
172.16-32.0-255.0-255
On édite le fichier vim ./nmap-ping6.sh
Script avec 142 lignes
001#!/bin/bash
002#######################################################################
003#
004# Script BASH
005#
006# Ce script retourne les adresses IPv4 d'un réseau grace à nmap
007# Il ping6 des adresses IPv6 "configurer" aux IPv4
008# Et stoke le tout dans une variable PHP
009#
010# Author : O.Romain Jaillet-Ramey (orj@lab3w.fr)
011#
012# Date-create : 2018/12/06
013# Date-modify : 2018/12/14
014#
015# TODO : retour nmapv4 sur MAC_ADDR et conparaison IPv6
016#
017#
018#######################################################################
019 020#####-------------------------- CHECK ----------------------------#####
021ID=`id -u`
022 023if [ "x$ID" != "x0" ]; then
024echo "Run as root!"
025exit 1
026fi
027 028EXPECTED_ARGS=1
029E_BADARGS=65
030 031if [ $# -ne $EXPECTED_ARGS ]
032then
033echo "Usage: `basename $0` 10.0.0.0/24"
034exit $E_BADARGS
035fi
036 037#####-------------------------- /CHECK ----------------------------#####
038 039#####-------------------------- DECLARATION ----------------------------#####
040MYDIR=`dirname $0`
041 042# Date Actuelle
043DATE=`date +%Y%m%d`
044DATEFR="2015/09/25 12:39:28"
045DATEFR=`date +"%Y/%m/%d %H:%M:%S"`
046 047# conf
048DIRECTORY="/var/pro/web_sites/zw3b.net/swan/tmp/"
049DIRECTORY_TMP="/tmp/"
050 051IPV6_PREFIX='2001:bc8:25bb:ff00:';
052IPV6_ORG='1ab3:';
053 054# Envoie
055NETWORK_ADDR=$1;
056 057#-------------------------------------------
058 059if [ "${NETWORK_ADDR}" != "" ];
060then
061 062swan_ips="`nmap $NETWORK_ADDR -n -sP | grep report | awk '{print $5}'`";
063 064SWAN_PPP="172.16.5.199";
065SWAN_IPV4="10.59.199.0";
066067
if [ "${NETWORK_ADDR}" = "10.59.199.0/24" ]; then
068SWAN_PPP="172.16.5.199";
069SWAN_IPV4="10.59.199.0";
070SWAN_SITE="3b:";
071SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"1ac0:";
072fi
073if [ "${NETWORK_ADDR}" = "10.106.42.0/24" ]; then
074SWAN_PPP="172.16.5.253";
075SWAN_IPV4="10.106.42.0";
076SWAN_SITE="3a:";
077SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"c10d:";
078fi
079if [ "${NETWORK_ADDR}" = "10.6.42.0/24" ]; then
080SWAN_PPP="172.16.5.253";
081SWAN_IPV4="10.6.42.0";
082SWAN_SITE="3a:";
083SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"80fa:";
084fi
085086
if [ "${NETWORK_ADDR}" = "10.106.0.0/24" ]; then
087SWAN_PPP="172.16.5.143";
088SWAN_IPV4="10.106.0.0";
089SWAN_SITE="3e:";
090SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"1ac1:";
091fi
092093
if [ "${NETWORK_ADDR}" = "10.6.0.0/24" ]; then
094SWAN_PPP="172.16.5.143";
095SWAN_IPV4="10.6.0.0";
096SWAN_SITE="3e:";
097SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"1:";
098fi
099100
{
101echo '<?php';
102for ip in $swan_ips;
103do
104 105echo "$hosts['swan']['${SWAN_PPP}']['host']['$ip']['ipv4'] = '$ip';";
106107
num_ip=`echo $ip | cut -d'.' -f4`
108ipv6="${SWAN_IPV6}${num_ip}"
109110
#echo $ipv6
111if ping6 -c1 $ipv6 1>/dev/null 2>/dev/null; then
112echo "$hosts['swan']['${SWAN_PPP}']['host']['$ip']['ipv6'] = '$ipv6';";
113fi
114 115done
116echo '?>';
117# } > ${DIRECTORY}/nmap.${SWAN_IPV4}.php
118} > ${DIRECTORY_TMP}/nmap.${SWAN_IPV4}.php
119120
MD5_SUM_NOW=`md5sum "${DIRECTORY_TMP}/nmap.${SWAN_IPV4}.php" | cut -d" " -f1`
121 122MD5_FILE=${DIRECTORY}"/nmap."${SWAN_IPV4}
123124
MD5_SUM_OLD=0000000000000;
125if [ -e "${MD5_FILE}.sum" ]; then
126MD5_SUM_OLD=`cat ${MD5_FILE}.sum`
127fi
128129
# echo "MD5_SUM_OLD : " $MD5_SUM_OLD
130# echo "MD5_SUM_NOW : " $MD5_SUM_NOW
131# exit;
132133
if [ "$MD5_SUM_OLD" != "$MD5_SUM_NOW" ]; then
134 135cp ${DIRECTORY_TMP}/nmap.${SWAN_IPV4}.php ${DIRECTORY}/nmap.${SWAN_IPV4}.php
136137
md5sum "${MD5_FILE}.php" | cut -d" " -f1 > ${DIRECTORY}"/nmap.${SWAN_IPV4}.sum"
138fi
139 140fi
141 142
On envoie la commande de cette manière sh ./nmap-ping6.sh 10.0.0.0/24
LAB3W © ZW3B :-: SWAN LAC
Qui me retourne quelques choses comme çà ;)
LAB3W © ZW3B :-: Secure Wide Area Networks xLayer 2 Tunneling Protocol Access Concentrator IP(v4/v6)
Cordialement,
Romain