user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

Vous n'êtes pas identifié(e).

#1 19-03-2015 10:39:19

tio
Membre

detecter les interfaces qui sont en mode promiscuous

comment je peux detecter les interfaces des devices qui sont avec ma machine dans le meme réseau mais qui sont en mode promiscuous.

Je veux savoir comment je peux faire un script qui me permet de savoir cette information, et quel commande ubuntu m'aider à réaliser ce but.


Merci.

Hors ligne

#2 19-03-2015 11:52:13

penthium2
Modérateur

Re : detecter les interfaces qui sont en mode promiscuous

Comme le mode promiscuité peut être utilisé à des fins malveillantes, il est intéressant de savoir détecter les machines réseau fonctionnant dans ce mode. Il y a deux méthodes pour y arriver :

Si une machine réseau est en mode promiscuité, le noyau va recevoir tout le trafic réseau, c'est-à-dire que la charge du processeur va augmenter. Ainsi la latence des réponses réseau va augmenter, ce qui peut être détecté.
En mode promiscuité, des logiciels peuvent répondre à des paquets quand bien même ils étaient destinés à une autre machine. Si on voit de telles réponses, on peut être certain que la machine qui les a envoyés est en mode promiscuité. Cependant, des utilisateurs expérimentés de logiciels d'écoute réseau peuvent parer à cela (par exemple en configurant avec attention le pare-feu). Un exemple typique est l'envoi d'un ping (ICMP echo request) avec la mauvaise adresse MAC mais la bonne adresse IP. Si le pare-feu bloque tout trafic ICMP, il n'y aura pas de réponse transmise sur le réseau.

Cf  :http://fr.wikipedia.org/wiki/Promiscuous_mode

Sachant que si tu est sur un réseau avec un switch ( commutateur, adios le mode promiscuous big_smile )


vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

#3 19-03-2015 12:14:53

tio
Membre

Re : detecter les interfaces qui sont en mode promiscuous

merci @viperr pour votre réponse mais  mon but est de detecter les hackers arp poison et man in the middle qui sont dans mon réseau local alors parmi mes techniques pour les detecter c'est de savoir les machines tel que ses interfaces sont en mode promiscuous.

Alors je cherche comment je peux réaliser mon but en python si possible ou des commandes à faire.

Hors ligne

#4 19-03-2015 12:46:00

ZeR0-@bSoLu
Membre

Re : detecter les interfaces qui sont en mode promiscuous

Pour répondre à ta question tio je te renvoie à ce post :
http://linuxtrack.net/viewtopic.php?id=1494

et a ce tuto également :

http://linuxtrack.net/viewtopic.php?id=1495


Mess With The Bests
Die Like The Rest

Hors ligne

#5 19-03-2015 13:30:35

tio
Membre

Re : detecter les interfaces qui sont en mode promiscuous

@ZeR0-@bSoLu j'ai vu les deux lien meme je fais un commentaire et pour Xarp il est trés intéressant mais je dois faire réliser un code python qui permet la detection des arp poison.

Il est possible de voir sa code source si il est en python.


merci.

Hors ligne

#6 19-03-2015 16:21:28

tio
Membre

Re : detecter les interfaces qui sont en mode promiscuous

j'essaie ce code pour detecter l'existance de arp spoofing mais je pense que s'il a  une requete arp tq la source de cette requete ne correspond pas à mon @ip alors il le considére comme un attaque je veux savoir si le code il detecte vraiment arp poison ou non:j'ai essayé de commenter le code
merci de me répondre, je besoin d'aide urgent

[== Indéfini ==]
#!/usr/bin/env python

import os, urllib, httplib, sys, time, smtplib
from scapy.all import *
from optparse import OptionParser

parser = OptionParser()
parser.add_option('-p', '--myip', dest='myip', default='172.16.50.36', help='Set your IP Address')
parser.add_option('-b', '--broadcast', dest='broadcast', default='172.16.255.255', help='Set broadcast IP Address')
parser.add_option('-f', '--file', dest='filename', default='igotcha.txt')

(options, args) = parser.parse_args()

global filename, requests, hws, myip, broadcast

path = os.getcwd()

myip = options.myip
filename = "%s/%s" %(path, options.filename)
broadcast = options.broadcast
requests = []
hws = []

def Search(ip, hw, dip):
    now = time.strftime("%Y-%m-%d %H:%M:%S")
    if dip == broadcast:
   #ici comme on a trouve adress de destination est de broadcast on va verifier si hardware ressource existe dans la liste hardware ressource sion on va l'ajouter
        if not hw in hws:
            arq = open(filename, "a")
            arq.write("[%s] ARP sent to broadcast address [%s]\n" %(now, hw))
            arq.close()
            hws.append(hw)
        return "ARP sent to broadcast address: affichage de hardware ressource  [%s]" %hw
#################on essaie de detetcer maintenant l'arp  spoofing 
    
    if not ip in requests and ip != myip:
     
        if not hw in hws:
            arq = open(filename, "a")
            arq.write("[%s] ARP Spoofing detect [%s]\n" %(now, hw))
            arq.close()
            hws.append(hw)
        return "ARP Spoofing detect [%s]" %hw

    else:
        if ip in requests:
            requests.remove(ip)
####################################################
    for i in hws:
        print "je suis à l'interieur pour afficher les hardwares sources "
        print hws[i]

def Detect(pkt):
    sip = pkt.sprintf("%ARP.psrc%")
    print "source adresse is :%s"%sip
    dip = pkt.sprintf("%ARP.pdst%")
    print "destination adresse is :%s"%dip
    shw = pkt.sprintf("%ARP.hwsrc%")
    print"hardware source is %s"%shw
    op = pkt.sprintf("%ARP.op%")
    print "l'opération envoyé is a:%s"%op 
    if sip == myip 
        requests.append(dip)

    if sip!=myip
        print "je trouve que  la source de la requete arp n'est pas mon @ip"

    if op == 'is-at':
        print "operation est chercher le hardware d'adresse ip %s
        return Search(sip, shw, dip)
        
sniff(prn=Detect, filter="arp", store=0)

.

Dernière modification par tio (19-03-2015 16:26:50)

Hors ligne

Pied de page des forums