ZW3B :-: API Client * Contents * Docs by LAB3W.ORJ

Translate this page

Name : BETA-TESTERS

Project name : ZW3B-API-BETA-TESTERS

Authorized. - 200 - Client API Name and Origin Wildcard OK

¿Comment? 'Ou' ¿Que faire?, OS GNU/Linux, Réseaux, Scan réseau retour adresses IPv4 (hors ARP)

On retourne les adresses réseaux IPv4 connectées et vérifie une adresse IPv6/IPv4.

Author : O.Romain.Jaillet-ramey

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)

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
024	echo "Run as root!"
025	exit 1
026fi
027
028EXPECTED_ARGS=1
029E_BADARGS=65
030
031if [ $# -ne $EXPECTED_ARGS ]
032then
033	echo "Usage: `basename $0` 10.0.0.0/24"
034	exit $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
064	SWAN_PPP="172.16.5.199";
065	SWAN_IPV4="10.59.199.0";
066	
067	if [ "${NETWORK_ADDR}" = "10.59.199.0/24" ]; then 
068		SWAN_PPP="172.16.5.199";
069		SWAN_IPV4="10.59.199.0";
070		SWAN_SITE="3b:";
071		SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"1ac0:";
072	fi
073	if [ "${NETWORK_ADDR}" = "10.106.42.0/24" ]; then 
074		SWAN_PPP="172.16.5.253";
075		SWAN_IPV4="10.106.42.0"; 
076		SWAN_SITE="3a:";
077		SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"c10d:";	
078	fi
079	if [ "${NETWORK_ADDR}" = "10.6.42.0/24" ]; then 
080		SWAN_PPP="172.16.5.253";
081		SWAN_IPV4="10.6.42.0"; 
082		SWAN_SITE="3a:";
083		SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"80fa:";	
084	fi
085	
086	if [ "${NETWORK_ADDR}" = "10.106.0.0/24" ]; then 
087		SWAN_PPP="172.16.5.143";
088		SWAN_IPV4="10.106.0.0"; 
089		SWAN_SITE="3e:";
090		SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"1ac1:";	
091	fi
092	
093	if [ "${NETWORK_ADDR}" = "10.6.0.0/24" ]; then 
094		SWAN_PPP="172.16.5.143";
095		SWAN_IPV4="10.6.0.0"; 
096		SWAN_SITE="3e:";
097		SWAN_IPV6=${IPV6_PREFIX}${IPV6_ORG}${SWAN_SITE}"1:";		
098	fi
099	
100	{
101	echo '<?php';
102	for ip in $swan_ips; 
103	do
104
105		echo "$hosts['swan']['${SWAN_PPP}']['host']['$ip']['ipv4'] = '$ip';";
106		
107		num_ip=`echo $ip | cut -d'.' -f4`
108		ipv6="${SWAN_IPV6}${num_ip}"
109		
110	#echo $ipv6
111		if ping6 -c1 $ipv6 1>/dev/null 2>/dev/null; then
112			echo "$hosts['swan']['${SWAN_PPP}']['host']['$ip']['ipv6'] = '$ipv6';";
113		fi
114
115	done
116	echo '?>';
117#	} > ${DIRECTORY}/nmap.${SWAN_IPV4}.php
118	} > ${DIRECTORY_TMP}/nmap.${SWAN_IPV4}.php
119	
120	MD5_SUM_NOW=`md5sum "${DIRECTORY_TMP}/nmap.${SWAN_IPV4}.php" | cut -d" " -f1`
121
122	MD5_FILE=${DIRECTORY}"/nmap."${SWAN_IPV4}
123	
124	MD5_SUM_OLD=0000000000000;
125	if [ -e "${MD5_FILE}.sum" ]; then
126		MD5_SUM_OLD=`cat ${MD5_FILE}.sum`
127	fi
128	
129#	echo "MD5_SUM_OLD : " $MD5_SUM_OLD
130#	echo "MD5_SUM_NOW : " $MD5_SUM_NOW
131#	exit;
132	
133	if [ "$MD5_SUM_OLD" != "$MD5_SUM_NOW" ]; then
134
135		cp ${DIRECTORY_TMP}/nmap.${SWAN_IPV4}.php ${DIRECTORY}/nmap.${SWAN_IPV4}.php
136		
137		md5sum "${MD5_FILE}.php" | cut -d" " -f1 > ${DIRECTORY}"/nmap.${SWAN_IPV4}.sum"
138	fi
139
140fi
141
142
Retirer les numéros de lignes

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