Catégories
Open-source Reseau

Nicolargo, dessine-moi un paquet IP

Voilà mon petit prince:

IP packet

Avec en bonus la version PDF et la version Open Office Draw.

Catégories
Open-source Systeme

Configuration de la pile IP Ubuntu en ligne de commande

Un petit mémo à usage général pour tout ceux qui, comme moi, ont besoin de configurer à distance via SSH (c’est à dire en ligne de commande) la pile IP d’une distribution Ubuntu (la procédure doit normalement être la même sous Debian).

Configuration de l’adresse IP, masque et passerelle

On commence par configurer le ou les interfaces réseau via le fichier /etc/network/interfaces.

La structure est simple, voici un exemple:

# Configuration de l’adresse de loopback

auto lo

iface lo inet loopback

# Interface coté Internet (en DHCP)

auto eth0

iface eth0 inet dhcp

# Interface coté LAN (statique)

auto eth1

iface eth1 inet static

address 192.168.1.1

netmask 255.255.255.0

gateway 192.168.1.254

Configuration des serveurs DNS

Si vous n’utilisez pas la configuration de vos serveurs DNS par DHCP, vous pouvez passer par le fichier /etc/resolv.conf. Ce dernier permet de configurer le nom du domaine et l’adresse des serveurs DNS.

search monbeaudomaine.com

nameserver 192.168.1.1

nameserver 208.67.219.99

On applique la configuration du réseau

/etc/init.d/networking restart

Voili, fin du pense bête…

Catégories
Reseau Web

Geolocalisation par adresse IP

La geolocalisation (ou tracking) IP consiste à obtenir la localisation d’une machine à partir de son adresse IP. On trouve facilement des sites permettant de déduire le pays d’origine à partir de l’adresse IP (mais une simple commande en ligne whois le fait aussi). Par contre, il est très difficile (voir impossible) de trouver des sites proposant gratuitement une localisation précise (type GPS).

GM

J’ai donc regardé du coté des forums US et je suis tombé sur le site NetGeo. Ce dernier propose une base de donnée librement accessible par simple requête HTTP.

Exemple sur l’adresse IP du site google.fr:

http://netgeo.caida.org/perl/netgeo.cgi?target=216.239.59.104

VERSION=1.0
TARGET: 216.239.59.104
NAME: GOOGLE
NUMBER: 216.239.32.0 – 216.239.63.255
CITY: MOUNTAIN VIEW
STATE: CALIFORNIA
COUNTRY: US
LAT: 37.41
LONG: -122.08

LAT_LONG_GRAN: City
LAST_UPDATED: 11-May-2001
NIC: ARIN
LOOKUP_TYPE: Block Allocation
RATING:
DOMAIN_GUESS: google.com
STATUS: OK

Il est alors très simple de localiser cette adresse sur une Google Map.

J’ai écris un script PHP Geolocip permettant de faire automatiquement une geolocalisation d’une adresse IP ainsi que la génération de l’URL vers Google Map.

PS: La base de donnée NetGeo n’est malheureusement plus mise à jour… si vous avez d’autres solutions, je suis très intéressé !

Catégories
Open-source Reseau

TCPtrack: suivre ses connexions TCP

TCPTrack est un petit utilitaire bien pratique pour suivre les connexions TCP. L’idéal est de l’installer sur sa machine ou sur le routeur d’accès. Disponible sous licence GPL (version 2) il est téléchargeable à l’adresse suivante. Je l’ai compilé sans problème sous Linux, FreeBSD et Mac OS X.

Nous allons voir dans le tutoriel suivant, comment installer et utiliser cet utilitaire…

Catégories
Open-source Reseau

Générer des paquets IP avec HPING…

… ou comment tester de manière efficace son réseau…

Installation (sur Fedora)

Après avoir récupéré les sources sur le site officiel, dézippé et détarré…

yum install libnet-devel libpcap-devel
ln -s /usr/include/pcap-bpf.h /usr/include/net/bpf.h
./configure –no-tcl
make
make install

Exemples d’utilisations

Un ping TCP simple (pardéfaut sur le port 0):

# hping 192.168.29.1
HPING 192.168.29.1 (eth0 192.168.29.1): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.29.1 ttl=64 id=21068 sport=0 flags=RA seq=0 win=0 rtt=0.3 ms
len=46 ip=192.168.29.1 ttl=64 id=48983 sport=0 flags=RA seq=1 win=0 rtt=0.3 ms
len=46 ip=192.168.29.1 ttl=64 id=44368 sport=0 flags=RA seq=2 win=0 rtt=0.2 ms

Un ping TCP sur le port 80:

# hping 192.168.29.1 -c 2 -S -p 80 -n
HPING 192.168.29.1 (eth0 192.168.29.1): S set, 40 headers + 0 data bytes
len=46 ip=192.168.29.1 ttl=64 DF id=14101 sport=80 flags=SA seq=0 win=57344 rtt=0.2 ms
len=46 ip=192.168.29.1 ttl=64 DF id=6759 sport=80 flags=SA seq=1 win=57344 rtt=0.5 ms

Un ping ICMP (même fonction que le ping classique):

#hping 192.168.29.1 -1
HPING 192.168.29.1 (eth0 192.168.29.1): icmp mode set, 28 headers + 0 data bytes
len=46 ip=192.168.29.1 ttl=64 id=52414 icmp_seq=0 rtt=0.3 ms
len=46 ip=192.168.29.1 ttl=64 id=18412 icmp_seq=1 rtt=0.2 ms

Un ping TCP avec spoofing (c’est à dire génération d’un paquet avec une adresse IP source différente de celle de la machine qui lance le hping):

# hping 192.168.29.1 -a www.google.fr
HPING 192.168.29.1 (eth0 192.168.29.1): NO FLAGS are set, 40 headers + 0 data bytes

PS: dans ce mode, vous n’aurez bien sur pas les réponses, qui seront envoyés à la machine spécifiée par l’option -a… c’est pour cela que c’est une attaque ben connue dans le monde des réseaux).

Quelques options…

-i : permet de fixer l’intervalle de temps (en seconde) entre deux pings
-c : nombre de paquets à générer
-q: affiche seulement le rapport final

Exemple:

— 192.168.29.1 hping statistic —
5 packets tramitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.3 ms

-V: active le mode verbose

Exemple:
len=46 ip=192.168.29.1 ttl=64 id=6825 tos=0 iplen=40
sport=0 flags=RA seq=2 win=0 rtt=0.3 ms
seq=0 ack=624676233 sum=fdf5 urp=0
-0: active le mode RAW IP
-1: active le mode ICMP
-2: active le mode UDP

Si vous voulez une liste de toutes les options, c’est par ici.