Informations :
Dates
- Publish : : Friday 14 december 2018
- Modification : Friday 14 december 2018
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
#!/bin/bash ####################################################################### # # Script BASH # # Ce script retourne les adresses IPv4 d'un réseau grace à nmap # Il ping6 des adresses IPv6 "configurer" aux IPv4 # Et stoke le tout dans une variable PHP # # Author : O.Romain Jaillet-Ramey (orj@lab3w.fr) # # Date-create : 2018/12/06 # Date-modify : 2018/12/14 # # TODO : retour nmapv4 sur MAC_ADDR et conparaison IPv6 # # ####################################################################### #####-------------------------- CHECK ----------------------------##### ID=`id -u` if [ "x$ID" != "x0" ]; then echo "Run as root!" exit 1 fi EXPECTED_ARGS=1 E_BADARGS=65 if [ $# -ne $EXPECTED_ARGS ] then echo "Usage: `basename $0` 10.0.0.0/24" exit $E_BADARGS fi #####-------------------------- /CHECK ----------------------------##### #####-------------------------- DECLARATION ----------------------------##### MYDIR=`dirname $0` # Date Actuelle DATE=`date +%Y%m%d` DATEFR="2015/09/25 12:39:28" DATEFR=`date +"%Y/%m/%d %H:%M:%S"` # conf DIRECTORY="/var/pro/web_sites/zw3b.net/swan/tmp/" DIRECTORY_TMP="/tmp/" IPV6_PREFIX='2001:bc8:25bb:ff00:'; IPV6_ORG='1ab3:'; # Envoie NETWORK_ADDR=$1; #------------------------------------------- if [ "${NETWORK_ADDR}" != "" ]; then swan_ips="`nmap $NETWORK_ADDR -n -sP | grep report | awk '{print $5}'`"; SWAN_PPP="172.16.5.199"; SWAN_IPV4="10.59.199.0"; if [ "${NETWORK_ADDR}" = "10.59.199.0/24" ]; then SWAN_PPP="172.16.5.199"; SWAN_IPV4="10.59.199.0"; SWAN_SITE="3b:"; SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"1ac0:"; fi if [ "${NETWORK_ADDR}" = "10.106.42.0/24" ]; then SWAN_PPP="172.16.5.253"; SWAN_IPV4="10.106.42.0"; SWAN_SITE="3a:"; SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"c10d:"; fi if [ "${NETWORK_ADDR}" = "10.6.42.0/24" ]; then SWAN_PPP="172.16.5.253"; SWAN_IPV4="10.6.42.0"; SWAN_SITE="3a:"; SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"80fa:"; fi if [ "${NETWORK_ADDR}" = "10.106.0.0/24" ]; then SWAN_PPP="172.16.5.143"; SWAN_IPV4="10.106.0.0"; SWAN_SITE="3e:"; SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"1ac1:"; fi if [ "${NETWORK_ADDR}" = "10.6.0.0/24" ]; then SWAN_PPP="172.16.5.143"; SWAN_IPV4="10.6.0.0"; SWAN_SITE="3e:"; SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"1:"; fi { echo '<?php'; for ip in $swan_ips; do echo "$hosts['swan']['${SWAN_PPP}']['host']['$ip']['ipv4'] = '$ip';"; num_ip=`echo $ip | cut -d'.' -f4` ipv6="${SWAN_IPV6}${num_ip}" #echo $ipv6 if ping6 -c1 $ipv6 1>/dev/null 2>/dev/null; then echo "$hosts['swan']['${SWAN_PPP}']['host']['$ip']['ipv6'] = '$ipv6';"; fi done echo '?>'; # } > ${DIRECTORY}/nmap.${SWAN_IPV4}.php } > ${DIRECTORY_TMP}/nmap.${SWAN_IPV4}.php MD5_SUM_NOW=`md5sum "${DIRECTORY_TMP}/nmap.${SWAN_IPV4}.php" | cut -d" " -f1` MD5_FILE=${DIRECTORY}"/nmap."${SWAN_IPV4} MD5_SUM_OLD=0000000000000; if [ -e "${MD5_FILE}.sum" ]; then MD5_SUM_OLD=`cat ${MD5_FILE}.sum` fi # echo "MD5_SUM_OLD : " $MD5_SUM_OLD # echo "MD5_SUM_NOW : " $MD5_SUM_NOW # exit; if [ "$MD5_SUM_OLD" != "$MD5_SUM_NOW" ]; then cp ${DIRECTORY_TMP}/nmap.${SWAN_IPV4}.php ${DIRECTORY}/nmap.${SWAN_IPV4}.php md5sum "${MD5_FILE}.php" | cut -d" " -f1 > ${DIRECTORY}"/nmap.${SWAN_IPV4}.sum" fi fi
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