Aide-mémoire pour la programmation réseau Python
Tous les tableaux fournis dans les aide-mémoire sont également présentés en tableaux ci-dessous qui sont faciles à copier et coller.
LeAide-mémoire pour la programmation réseau Pythoncouvre :
- Modules d'installation communs requis : PIP et IDLE
- Principales bibliothèques de programmation réseau Python
- Analyse légale du réseau : bibliothèques et scripts Python requis
- Mots-clés Python
- Types de données, opérateurs mathématiques
- Analyse de réseau avec Python
- La bibliothèque DNSpython
- Module Socket (interface API Berkley)
- Types de sockets, création de sockets
- Exemples de sockets
- Exemples de scripts
- Modules d'analyse
Afficher ou télécharger l'image JPG de l'aide-mémoire
Faites un clic droit sur l'imageci-dessous pour enregistrer le fichier JPG (largeur 1987 x hauteur 2362 en pixels), ou cliquez ici pour l'ouvrir dans un nouvel onglet de navigateur . Une fois l'image ouverte dans une nouvelle fenêtre, vous devrez peut-être cliquer sur l'image pour zoomer et afficher le jpeg en taille réelle.
Afficher ou télécharger le fichier PDF de l'aide-mémoire
Téléchargez l'aide-mémoire Fichier PDF ici . Lorsqu'il s'ouvre dans un nouvel onglet de navigateur, faites simplement un clic droit sur le PDF et accédez au menu de téléchargement.
Ce qui est inclus dans cette aide-mémoire
Les catégories et éléments suivants ont été inclus dans l'aide-mémoire :
Modules d'installation communs requis : PIP et IDLE
PIP (programme d'installation du package Python) | |_+_| |
IDLE (Environnement de développement et d'apprentissage intégré) | |_+_| |
Principales bibliothèques de programmation réseau Python
Django | Framework Web Python de haut niveau pour un développement rapide et pragmatique |
pycos (anciennement asyncoro) | Framework Python pour la programmation asynchrone, simultanée, réseau, distribuée et l'informatique distribuée |
Diesel | Une API propre pour écrire des clients et des serveurs réseau. TCP et UDP pris en charge. Regroupe les clients pour HTTP, DNS, Redis, Riak et MongoDB. |
Presse | Un moyen simple de créer des programmes réseau évolutifs |
Tordu | Framework basé sur les événements pour les applications Internet : clients et serveurs HTTP, SSHv2 et Telnet, IRC, XMPP, IMAPv4, POP3, SMTP, IMAPv4, POP3, SMTP, etc. |
NAPALM | Couche d'abstraction d'automatisation et de programmabilité du réseau avec prise en charge multifournisseur - Pour traiter avec les fournisseurs de périphériques |
évent | Une bibliothèque réseau Python basée sur une coroutine qui utilise greenlet pour fournir une API synchrone de haut niveau au-dessus de la boucle d'événements libev ou libuv |
Céleri | File d'attente de tâches/file d'attente de travaux asynchrone basée sur la transmission de messages distribués |
Analyse légale du réseau : bibliothèques et scripts Python requis
Outil EDDIE | Agent de surveillance, de sécurité et d'analyse des performances du système et du réseau pour Python |
pycap | Outil de capture de petits paquets basé sur Python et pcap |
Paramiko | Implémentation du protocole SSHv2, fournissant à la fois les fonctionnalités client et serveur |
pépin | Installateur de package pour Python |
L'index des packages Python (PyPI) | Référentiel de logiciels pour Python |
Mots-clés Python
|_+_| | |
Python 2.7.15+ ['et', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'sauf', 'exec', ' enfin', 'pour', 'de', 'global', 'si', 'importer', 'dans', 'est', 'lambda', 'pas', 'ou', 'passer', 'imprimer' , 'augmenter', 'revenir', 'essayer', 'pendant', 'avec', 'rendement'] | |
Python3.8.0 ['False', 'Aucun', 'Vrai', 'et', 'as', 'assert', 'async', 'wait', 'break', 'class', 'continue', 'def', ' del', 'elif', 'else', 'sauf', 'finalement', 'pour', 'de', 'global', 'if', 'import', 'in', 'is', 'lambda' , 'nonlocal', 'pas', 'ou', 'passer', 'augmenter', 'revenir', 'essayer', 'pendant', 'avec', 'rendement'] |
Types de données
Texte | str -x = 'Bonjour tout le monde' |
Numérique | int, flottant, complexe |
Séquence | liste, tuple, plage |
Cartographie | dicter |
Ensemble | ensemble, ensemble gelé |
Booléen | bouffon |
Binaire | octets, tableau d'octets, vue mémoire |
Opérateurs mathématiques
** | Exposant4 ** 2 = 16 |
% | Module/Reste43% 5 = 3 |
// | Division entière11 // 5 = 2 |
/ | Division11/5 = 2,2 |
* | Multiplication3*3=9 |
- | Soustraction8 - 3 = 5 |
+ | Ajout2 + 2 = 4 |
== | Égal à |
!= | Pas égal à |
< | Moins que |
> | Plus grand que |
<= | Inférieur ou égal à |
>= | Plus grand ou égal à |
commentaires
# | Peut être utilisé au début d’une ligne ou de l’intérieur d’une ligne jusqu’à la fin de la ligne |
Analyse de réseau avec Python
Utiliser NMAP avec le scanner de ports | |_+_| |
Commandes pour exécuter l'analyse NMAP | |_+_| |
Commandes NMAP utilisées avec python | |_+_| |
La bibliothèque DNSpython
Installation | |_+_| |
Requête DNS de base | |_+_| |
Obtenez la cible MX et la préférence de nom | |_+_| |
Module Socket (interface API Berkley)
Fonctions principales et méthodes | socket() • ind() • écoute() • accept() • connect() • connect_ex() • send() • recv() • close() |
Types de prises
SOCK_STREAM | Pour les protocoles TCP • Transmission fiable • Séquence de paquets • Orienté connexion • Bidirectionnel |
SOCK_DGRAM | Pour les protocoles UDP • Transmission peu fiable • Aucune séquence de paquets • Sans connexion (UDP) • Non bidirectionnel |
Création de sockets
|_+_| |_+_| | |
|_+_| | |
Famille de douilles | |_+_| |
Type de prise | SOCK_STREAMouSOCK_DGRAMpour TCP et UDP respectivement • par exemple. TCP-UDP2 = socket. socket (socket.AF_INET, socket.SOCK_DGRAM) • par exemple. UDP-TCP2 = socket. socket (socket.AF_INET, socket.SOCK_STREAM) |
Méthode de socket client | |_+_| |
Méthode de socket serveur | |_+_| |
Méthodes de socket TCP | |_+_| |
Méthodes de socket UDP | |_+_| |
Plus de méthodes de socket | |
|_+_| | Fermez la connexion de la prise |
|_+_| | Renvoie une chaîne qui inclut le nom d'hôte du PC actuel |
|_+_| | Renvoie une chaîne qui inclut le nom d'hôte et l'adresse IP du PC actuel |
|_+_| | Configurer et démarrer l'écouteur TCP |
|_+_| | Attacher (nom d'hôte, numéro de port) au socket |
|_+_| | Attente de connexion client TCP |
|_+_| | Initier la connexion au serveur TCP |
|_+_| | |
|_+_| | Renvoie un tuple avec l'adresse distante qui s'est connectée |
|_+_| | Attachez l'adresse locale spécifiée au socket |
|_+_| | Les données envoyées via le socket sont attribuées à l'adresse distante donnée |
|_+_| | Renvoie l'adresse distante à laquelle le socket est connecté |
|_+_| | Renvoie l'adresse du propre point de terminaison local du socket |
|_+_| | Forcer un paquet de données à une adresse distante spécifique |
Blocage des prises | |
|_+_| | Bloc de configuration |
|_+_| | Supprimer/désinstaller le bloc |
Obtenir le numéro de port en utilisant le nom de domaine | |_+_| |
Vérifier la prise en charge d'IPV6 | |_+_| |
getaddrinfo() - Lier le serveur à un port | |_+_| |
Exemples de sockets
Exemple de socket côté client | |
|_+_| | |
Exemple de socket côté client avec commentaires | |
|_+_| |
Exemples de scripts
Créer une liste d'appareils | |
|_+_| | |
Créer une liste de dictionnaires VLAN | |
|_+_| | |
Écrire des fonctions pour collecter des commandes et les transmettre au réseau | |
|_+_| | |
Créez des VLAN dans plusieurs commutateurs à l'aide d'un script Python | |
|_+_| | |
Citation : https://www.oreilly.com/library/view/network-programmability-and/9781491931240/ch04.html | |
Désactivez l'interface du routeur à l'aide de la commande python | |
|_+_| |
Modules d'analyse
|_+_| | Le module argparse facilite l'écriture d'interfaces de ligne de commande conviviales. Le programme définit les arguments dont il a besoin et argparse déterminera comment les analyser à partir de sys.argv. |
Création d'un analyseur | |_+_| |
Ajouter des arguments | |_+_| |
Analyser les arguments | |_+_| |
FAQ sur la programmation réseau Python
Comment Python peut-il être utilisé en réseau ?
Python est un langage de programmation flexible et peut être utilisé pour automatiser de nombreuses tâches professionnelles. Sur les réseaux, vous utiliserez des scripts Python pour effectuer des tâches de maintenance, collecter et transformer des données ou mettre à jour les paramètres. Une application utile de Python sur les réseaux consiste à assurer la coordination entre les différents composants d'un système. Par exemple, tous les éléments d'un réseau défini par logiciel peuvent être alignés grâce à l'utilisation de scripts Python.
Python est-il bon pour la programmation socket ?
Vous pouvez lier et libérer un socket avec Python très facilement. Il existe un certain nombre de services de gestion du trafic réseau que vous pouvez créer avec Python, tels que le reséquençage des paquets ou la vérification des connexions abandonnées.
Pourquoi Python est-il bon pour l’automatisation des réseaux ?
La réponse courte à la raison pour laquelle Python est bon pour la programmation réseau est que Cisco System l'utilise pour les programmes intégrés sur ses appareils, donc s'ils effectuent de nombreuses recherches sur les avantages relatifs des langages de programmation pour la mise en réseau, vous pourriez simplement prendre leur mot pour cela et économisez beaucoup de temps. Soulignant les qualités qui recommandent Python pour la programmation réseau, c'est qu'il est extensible par les bibliothèques de la même manière que C, mais il est beaucoup plus facile à lire que C et il n'a pas besoin d'être compilé.