IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

interception de packet sortant


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut interception de packet sortant
    bonjour,

    je me demandais s'il étais possible en python de créer une sorte de petit firewall local, qui permettrait d'interdire de naviguer sur certain site web.

    Je souhaiterais faire quelque chose qui tourne sur l'os et qui ne dépendrait pas des navigateur. Est-ce possible?

    je pensais faire quelque-chose qui interceptait les packets sortant et les contrôle. je connais pas trop le fonctionnement, mais je suppose que toutes requêtes faite passe par l'os ? il me suffirait donc de capter les ouverture de socket fais par l'os de checker si elle ne sont pas interdite et d'agir en fonction.

    Est ce que ma démarche est la bonne ?

    Existe-t'il une librairie python qui permette d'intercepter les requêtes vers l'extérieure pour les controller ?

    Un développeur peu m'aider svp ?

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Par défaut
    Ce ne serait pas un genre de proxy que tu voudrais mettre en place ?

    Les postes utilisateurs ont comme passerelle l'adresse du proxy .. donc obligation de passer par celui ci pour naviguer sur le web ..

    Une fois mis en place .. tu peux éditer les règles du proxy pour autoriser / interdire l'accès à certains sites web

    C'est ce que tu veux faire ?

  3. #3
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut
    oui je veux controller les url sortante sous forme de liste blanche ou blacklist, mais j'avais envisager ça sous forme de firewall !

    car en faite j'ai envi d'essayer de faire un petit logiciel de controle parental. donc je voyais plus un truc installer sur les poste client.

    mais c vrais que je pourrait faire ça par proxy aussi !

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Par défaut
    Je ne suis vraiment pas un as en prog :/ Dsl
    Donc pour faire un logiciel comme tu le souhaites ( qui doit d'ailleurs etre possible) ... ce n'est pas auprès de moi que tu trouveras les meilleurs conseils

    C'est pour une utilisation perso ? ou en vue de l'intégrer dans ton entreprise ?

    Sinon, comme je te l'ai deja dit .. moi je ferai ca avec un proxy ( client / serveur )
    Mais si tu souhaites faire un prog à installer sur le poste client .. Dsl peux pas t'aider sur ce coup

  5. #5
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut
    Dans un premier temps perso,mais si ça marche j'aimerait bien développé le truc et le lancé dans le monde communautaire.

    //EDIT ---------------------------------------------
    j'ai trouvé une librairie pyhton "scapy" qui permet de manipuler les paquets
    ça a l'air de faire ce que je veux mais je n'en sui pas sur ! qu'en pensez vous ?

  6. #6
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut
    bonjour,

    alors voilà, j'ai réussit a faire un truc avec scapy pour lire les packet sortant et entrant.
    voici la command :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sniff(filter="tcp and ( port 22 or port 80 )", prn=lambda x: x.sprintf("IP Source : %IP.src% ; Port Source : %TCP.sport% ---> IP Destination : %IP.dst% ; Port Destination : %TCP.dport% ; Flags TCP : %TCP.flags% ; Payload : %TCP.payload%"), count=0)
    le count signifie boucle infini. ça marche bien je vois tout ce qui passe requette http + code source + chargement image et css ...

    Mais il y a un hic, mais c'est dû a mon inexpérience. Pour résumé, j'arrive a voir ce qui sort et entre.
    Mais Maintenant pour faire mon système de firewall, je souhaiterais pouvoir bloquer les requetes sortante qui ne répondent pas a certaine règle, et du coup simulé une réponse en envoyant un pseudo code html avec pour message "page web non autorisé, contacter votre admin ..."

    est-ce que quelqu'un pourrait m'aider sur ce coup là ?
    //EDIT -------------------------------------------------------------------------------

    alors voici mon p'tit bout de code qui sniff mon ordi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import scapy
    import codecs, sys,re
     
     
    def myfunc(pkt):
    	print "\n","#"*100
    	print "IP_SRC:%s--->IP_DST:%s"%(pkt.getlayer(scapy.IP).src,pkt.getlayer(scapy.IP).dst)
    	print "-"*50
    	print pkt.payload
    	print "-"*50
    	print pkt.flags
    	print "-"*50
    	print "#"*100,"\n"
     
    scapy.sniff(filter="tcp and ( port 22 or port 80 )", prn=myfunc, count=6)
    en lançant la commande suivante : sudo python Bureau/firewall/firewall.py
    j'ai en retour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    ####################################################################################################
    IP_SRC:172.16.50.161--->IP_DST:91.121.18.77
    --------------------------------------------------
    E<�@@/&�2[yM��P�uoj���
    e�t
    --------------------------------------------------
    2
    --------------------------------------------------
    #################################################################################################### 
     
     
    ####################################################################################################
    IP_SRC:91.121.18.77--->IP_DST:172.16.50.161
    --------------------------------------------------
    E,@@�T[yM�2�P���/�q�uok`��\�
    --------------------------------------------------
    2
    --------------------------------------------------
    #################################################################################################### 
     
     
    ####################################################################################################
    IP_SRC:172.16.50.161--->IP_DST:91.121.18.77
    --------------------------------------------------
    E(�@@/9�2[yM��P�uok�/�rP�
    --------------------------------------------------
    2
    --------------------------------------------------
    #################################################################################################### 
     
     
    ####################################################################################################
    IP_SRC:172.16.50.161--->IP_DST:91.121.18.77
    --------------------------------------------------
    E�� @@-x�2[yM��P�uok�/�rP�NRGET / HTTP/1.1
    Host: www.developpez.com
    User-Agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
    Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
    Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Cache-Control: max-age=0
     
     
    --------------------------------------------------
    2
    --------------------------------------------------
    #################################################################################################### 
     
     
    ####################################################################################################
    IP_SRC:91.121.18.77--->IP_DST:172.16.50.161
    --------------------------------------------------
    E(�@@۠[yM�2�P���/�r�uq+P �	
    --------------------------------------------------
    2
    --------------------------------------------------
    #################################################################################################### 
     
     
    ####################################################################################################
    IP_SRC:91.121.18.77--->IP_DST:172.16.50.161
    --------------------------------------------------
    E��@@��[yM�2�P���/�r�uq+P s�HTTP/1.0 200 OK
    Date: Fri, 23 May 2008 14:45:37 GMT
    Server: Apache/2.2.8 (Unix) PHP/5.2.6
    X-Powered-By: PHP/5.2.6
    Content-Type: text/html
    X-Cache: MISS from fw-1-0.sm-datavance.com
    Connection: close
     
     
    <html>
    <head>
      <title>Accueil - Club d'entraide des d&eacute;veloppeurs francophones</title>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
      <meta name="generator" content="developpez-com" />
      <meta name="description" content="Club des developpeurs : Forum, Cours et tutoriels en programmation : Delphi, C, C++, Java, VB, DotNET, C#, PHP,ASP, UML, XML" />
      <meta name="keywords" content="programmation,tutoriels,tutoriel, cours, forum,delphi,langage C,C++, Java,VB,DotNET, C#, Pascal,PHP, ASP, UML, XML" />
      <meta name="MS.LOCALE" content="fr-FR" />
      <link rel="stylesheet" type="text/css" href="http://www.developpez.com/mainstyle.css" />
      <link rel="stylesheet" type="text/css" media="print" href="http://www.developpez.com/template/printer.css" />  
      <link rel="alternate" type="application/rss+xml" title="RSS 2.0 Developpez.com : Club des d�veloppeurs" href="./rss.php" /> 
      <link rel="alternate" type="application/rss+xml" title="Atom 1.0 Developpez.com : Club des d�veloppeurs" href="./atom.php" />
    </head>
    <body> <table width="100%" cellspacing="5">
      <tr>
        <td align="center">
         <table width="100%" cellspacing="0" cellpadding="0">
         <tr><td>
          <table width="100%" cellspacing="0">
     
    --------------------------------------------------
    2
    --------------------------------------------------
    ####################################################################################################
    si ça peut aider quelqu'un voilà. Je cherche toujours a achir sur les paquet pour en interdire ou pas. Si quelqu'un sait comment je suis preneur.

Discussions similaires

  1. [Android] intercepter un MMS sortant
    Par C/C++ dans le forum Android
    Réponses: 1
    Dernier message: 28/04/2014, 19h52
  2. intercepter les packets ip sortant et entrant de mon pc
    Par mapmip dans le forum Sécurité
    Réponses: 1
    Dernier message: 05/03/2011, 18h54
  3. Intercepter les packets
    Par Simonake dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 14/02/2010, 17h10
  4. Réponses: 0
    Dernier message: 17/06/2009, 16h23
  5. [Reseau]Interception de données sortantes
    Par gros nain dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 04/05/2004, 11h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo