A csaló lapokban szereplő összes táblázatot az alábbi táblázatokban is bemutatjuk, amelyeket könnyű lemásolni és beilleszteni.
Az Python Network Programming Cheat Sheet burkolatok:
- Szükséges közös telepítőmodulok: PIP és IDLE
- A legjobb python hálózati programozási könyvtárak
- Hálózati kriminalisztika: Szükséges python könyvtárak és szkriptek
- Python Kulcsszavak
- Adattípusok, matematikai operátorok
- Hálózati elemzés Python segítségével
- A dnspython könyvtár
- Socket modul (Berkley API felület)
- Aljzatok típusai, aljzatok létrehozása
- Aljzatok példái
- Példák forgatókönyvre
- Modulok elemzése
Tekintse meg vagy töltse le a Cheat Sheet JPG képet
Kattintson a jobb gombbal a képre alább a JPG fájl mentéséhez (1987 szélesség x 2362 magasság pixelben), vagy kattintson ide, ha új böngésző lapon szeretné megnyitni. Miután a kép új ablakban nyílik meg, lehet, hogy rá kell kattintania a képre a nagyításhoz és a teljes méretű JPEG megtekintéséhez.
Tekintse meg vagy töltse le a cheat sheet PDF fájlt
Töltse le a cheat sheet PDF fájlt itt. Amikor megnyílik egy új böngésző lapon, egyszerűen kattintson a jobb egérgombbal a PDF-re, és keresse meg a letöltés menüt.
Mit tartalmaz ez a csaló lap
A következő kategóriák és elemek kerültek be a cheat lapba:
Szükséges közös telepítőmodulok: PIP és IDLE
PIP (Python csomagtelepítő) | $ sudo apt-get install python-pip |
IDLE (Integrált fejlesztési és tanulási környezet) | $ sudo apt-get install idle |
A legjobb python hálózati programozási könyvtárak
Django | Magas szintű Python webes keret a gyors fejlesztéshez és gyakorlati megvalósításhoz |
pycos (korábban asyncoro) | Python keret az aszinkron, egyidejű, hálózati, elosztott programozáshoz és az elosztott számításhoz |
Dízel | Tiszta API hálózati kliensek és szerverek írására. A TCP és az UDP támogatott. Csomagolja az ügyfeleket a HTTP, a DNS, a Redis, a Riak és a MongoDB számára. |
Pulzár | Könnyű módon méretezhető hálózati programokat készíteni |
Csavart | Esemény-alapú keret az internetes alkalmazásokhoz: HTTP kliensek és szerverek, SSHv2 és Telnet, IRC, XMPP, IMAPv4, POP3, SMTP, IMAPv4, POP3, SMTP stb.. |
NAPALM | Hálózati automatizálás és programozhatóság absztrakciós réteg Multivendor támogatással – Eszközgyártókkal való kapcsolattartáshoz |
gevent | A rendes alapú Python hálózati könyvtár, amely a greenlet használatával magas szintű szinkron API-t biztosít a libev vagy libuv esemény hurok tetején |
Zeller | Aszinkron feladatsor / feladatsor az elosztott üzenet átadása alapján |
Hálózati kriminalisztika: Szükséges python könyvtárak és szkriptek
EDDIE eszköz | Rendszer- és hálózati megfigyelő, biztonsági és teljesítményelemző ügynök a python számára |
pypcap | Kis csomagrögzítő eszköz python és pcap alapon |
Paramiko | Az SSHv2 protokoll megvalósítása, ügyfél és szerver funkciókat is biztosítva |
csipog | Csomagtelepítő a pythonhoz |
A Python csomag index (PyPI) | Szoftver lerakat a Python számára |
Python Kulcsszavak
>>> import kulcsszó >>> print (keyword.kwlist) |
Python 2.7.15+ [‘és’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘folytatás’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘kivéve’, ‘exec’, ‘ végül ‘,’ for ‘,’ from ‘,’ global ‘,’ if ‘,’ import ‘,’ in ‘,’ is ‘,’ lambda ‘,’ not ‘,’ or ‘,’ pass ‘,’ print ‘ , ’emel’, ‘visszatér’, ‘próbál’, ‘míg’, ‘,’, ‘hozam’] |
Python 3.8.0 [‘Hamis’, ‘Nincs’, ‘Igaz’, ‘és’, ‘as’, ‘assert’, ‘async’, ‘várni’, ‘break’, ‘class’, ‘folytatni’, ‘def’, ‘ del ‘,’ elif ‘,’ else ‘,’ kivéve ‘,’ végül ‘,’ for ‘,’ from ‘,’ global ‘,’ if ‘,’ import ‘,’ in ‘,’ is ‘,’ lambda ‘ , ‘nem helyi’, ‘nem’, ‘vagy’, ‘átad’, ’emel’, ‘visszatér’, ‘próbál’, ‘míg’, ‘with’, ‘hozam’] |
Adattípusok
Szöveg | str – x = "Helló Világ" |
numerikus | int, úszó, komplex |
Sorrend | lista, név, tartomány |
térképészet | dict |
Készlet | beállítva, frozenset |
logikai | bool |
kétkomponensű | byte, bytearray, memória nézet |
Matematikai operátorok
** | exponent 4 ** 2 = 16 |
% | Modulus / Maradék 43% 5 = 3 |
// | Egész szám felosztás 11 // 5 = 2 |
/ | Osztály 11/5 = 2,2 |
* | Szorzás 3 * 3 = 9 |
– | Kivonás 8 – 3 = 5 |
+ | Kiegészítés 2 + 2 = 4 |
== | Egyenlő |
!= | Nem egyenlő |
< | Kevesebb, mint |
> | Nagyobb, mint |
<= | Kevesebb vagy egyenlő: |
>= | Nagyobb vagy egyenlő: |
Hozzászólások
# | Használható a vonal elején vagy a vonaltól a vonal végéig |
Hálózati elemzés Python segítségével
Használjon NMAP-t a portolvasóval | $ pip install python-nmap |
Az NMAP vizsgálat futtatásának parancsai | nmap importálása nmScan = nmap.PortScanner () nmScan.scan (’10 .1.0.0 ‘, ’25 – 443’) |
A pythonhoz használt NMAP parancsok | nmScan.scaninfo () # {‘tcp’: {‘services’: ’25 -80 ‘,’ method ‘:’ connect ‘}} nmScan.all_hosts () nmScan [’10 .1.0.0′ ]. hostname () nmScan [’10 .1.0.0′ ]. állapotban () nmScan [’10 .1.0.0′ ]. all_protocols () nmScan [’10 .1.0.0 ‘] [‘ tcp ‘]. gombok () # Eredmények – [80, 25, 22, 135] nmScan [’10 .1.0.0 ‘]. has_tcp (25) # Eredmény igaz / hamis nmScan [’10 .1.0.0 ‘]. has_tcp (21) # Eredmény hamis / igaz |
A dnspython könyvtár
Telepítés | $ pip install dnspython |
Alapvető DNS-lekérdezés | import dns.resolver name = ‘google.com’ az „A”, „AAAA”, „MX”, „NS”, „TXT”, „SOA” típusú típus esetében: answer = dns.resolver.query (név, qtype, raise_on_no_answer = False) ha a answer.rrset értéke nincs Nincs: print (answer.rrset) |
Szerezze be az MX cél- és névpreferenciát | import dns.resolver válaszok = dns.resolver.query (‘dnspython.org’, ‘MX’) |
Socket modul (Berkley API felület)
Elsődleges funkciók és módszerek | aljzat () • ind () • hallgatás () • elfogadás () • csatlakozás () • connect_ex () • küldés () • recv () • bezárás () |
Aljzatok típusai
SOCK_STREAM | TCP protokollokhoz • Megbízható átvitel • Csomag-sorrend • Csatlakozás-orientált • Kétirányú |
SOCK_DGRAM | UDP protokollokhoz • Nem megbízható átvitel • Nincs csomag sorrend • Csatlakozás nélküli (UDP) • Nem kétirányú |
Aljzatok létrehozása
import socket # Importálja a socket módszert socket.socket () # Funkció, amely aljzatot hoz létre | |
zokni = aljzat. aljzat (aljzatcsalád, aljzat típusa, protokoll = érték) | |
Aljzat család | AF_UNIX vagy AF_INET |
Aljzat típusa | SOCK_STREAM vagy SOCK_DGRAM a TCP számára & UDP • például. TCP – UDP2 = foglalat. aljzat (socket.AF_INET, socket.SOCK_DGRAM) • például. UDP – TCP2 = foglalat. aljzat (socket.AF_INET, socket.SOCK_STREAM) |
Ügyfél socket módszer | connect () |
Szerver socket módszer | kötni () • figyelni (elmaradás) • elfogadni () |
TCP socket módszerek | s.recv () # TCP-csomagok fogadása s.send () #Küldje el a TCP csomagokat |
UDP socket módszerek | s.recvfrom () # UDP csomagokat fogad s.sendto () # UDP csomagokat továbbít |
Több aljzat-módszer | |
Bezárás() | Csukja be a csatlakozót |
gethostname () | Visszaad egy karakterláncot, amely tartalmazza az aktuális számítógép hostnevét |
gethostbyname () | Visszaad egy karakterláncot, amely tartalmazza az aktuális számítógép hostnevét és IP-címét |
hallgat() | Telepítse és indítsa el a TCP figyelőt |
bind () | Csatlakoztassa (host-név, portszám) az aljzathoz |
elfogad() | TCP kliens kapcsolat várjon |
connect () | Inicializálja a TCP szerver kapcsolatot |
TCP Socket Methods | |
mysocket.accept () | Visszaad egy csomagot a csatlakoztatott távoli címmel |
mysocket.bind (cím) | Csatlakoztassa a megadott helyi címet az aljzathoz |
mysocket.connect (cím) | A foglalaton keresztül küldött adatok hozzárendelésre kerülnek az adott távoli címhez |
mysocket.getpeername () | Visszaadja a távoli címet, ahol a foglalat csatlakozik |
mysocket.getsockname () | Visszaadja a socket saját helyi végpontjának címét
|
mysocket.sendto (adatok, cím) | Az adatcsomag kényszerítése egy adott távoli címre |
Aljzat blokkolása | |
setblocking (1) | Beállítási blokk |
setblocking (0) | Távolítsa el / távolítsa el a blokkot |
Szerezze be a portszámot a domain név használatával | importcsatlakozó socket.getservbyname (‘domain name’) |
Ellenőrizze az IPV6 támogatását | importcsatlakozó socket.has_ipv6 # A válasz igaz vagy hamis |
getaddrinfo () – Kiszolgáló kötés egy porthoz | a socket importálásból getaddrinfo getaddrinfo (Nincs, ‘FTP’, 0, socket.SOCK_STREAM, 0, socket.AI_PASSIVE) [(2, 1, 6, ”, (‘0.0.0.0’, 21)), (10, 1, 6, ”, (‘::’, 21, 0, 0))] |
Aljzatok példái
Példa az ügyféloldali aljzatra |
importcsatlakozó s = socket.socket (socket.AF_INET, socket.SOCK_STREAM) host = socket.gethostname () port = 1111 myserver.bind ((host, port)) # csere myserver és a kliensem ismétlődő IP-kkel myserver.hallgatni (5) míg igaz: a kliensem,addr = myserver.accept () nyomtatás("Csatlakoztatva: {str (addr)}") a kliensem.Levél (msg.encode ("ascii")) a kliensem.Bezárás() |
Ügyféloldali Socket példa megjegyzésekkel |
# importálja a socket könyvtárat importcsatlakozó # socket objektum létrehozása # fenntart egy portot a számítógépen, amely bármi lehet # kötődik a porthoz # csatlakoztassa hallgató módba # hurok, amíg a felhasználó nem szakítja meg azt, vagy hiba lép fel # Hozzon létre kapcsolatot az ügyféllel. # köszönő üzenetet küld az ügyfélnek. # Zárja be a kapcsolatot |
Példák forgatókönyvre
Készítse el az eszközök listáját |
>>>eszközök = [‘SW1’, ‘SW2’, ‘SW3’] |
Hozzon létre VLAN szótárlistát |
vlans = [{‘id’: ‘100’, ‘név’: ‘alkalmazottak’}, {‘id’: ‘200’, ‘név’: ‘VOICE’}, {‘id’: ‘300’, ‘name’: ‘vezeték nélküli’}] |
Írjon funkciókat a parancsok összegyűjtésére és a hálózatra való belépésre |
>>>def get_commands (vlan, név): parancsok = [] Command.append (‘vlan’ + vlan) parancsok.append (‘név’ + név) visszaadási parancsok >>> def push_commands (eszköz, parancsok): |
Hozzon létre VLAN-kat több kapcsolóban python parancsfájl segítségével |
>>>vlan in vlans esetén: id = vlan.get (‘id’) name = vlan.get (‘név’) print ( ‘\ n’) print (‘VLAN konfigurálása:’ + azonosító) parancsok = get_commands (azonosító, név) eszközökön lévő eszközök esetében: push_commands (eszköz, parancsok) print ( ‘\ n’) |
Idézet: https://www.oreilly.com/library/view/network-programmability-and/9781491931240/ch04.html |
Kapcsolja ki az útválasztó felületét a python paranccsal |
>>> from push import push_commands eszköz = ‘router2’ parancsok = [‘Eth0 / 1 interfész’, ‘leállítás’] push_commands (eszköz, parancsok) |
Modulok elemzése
argparse () | Az argparse modul megkönnyíti a felhasználóbarát parancssori felületek írását. A program meghatározza, hogy milyen argumentumokat igényel, és az argparse kitalálja, hogyan lehet ezeket elemezni a sys.argv fájlból |
Elemző létrehozása | >>> parser = argparse.ArgumentParser (description = ‘Néhány egész szám feldolgozása.’) |
Érvek hozzáadása | >>> parser.add_argument (‘egész szám’, metavar = ‘N’, type = int, nargs = ‘+’, … help = ‘egész szám az akkumulátor számára’) >>> parser.add_argument (‘- összeg’, dest = ‘felhalmozódik’, action = ‘store_const’, … const = összeg, alapértelmezés = max, … help = ‘számoljuk az egészeket (alapértelmezés: keressük meg a max értéket)’) |
Az érvek elemzése | >>> parser.parse_args ([‘- összeg’, ‘7’, ‘-1′, ’42’]) Névtér (felhalmozás =, egész szám = [7, -1, 42]) |
A csaló lapokban szereplő összes táblázatot bemutatjuk az alábbi táblázatokban is, amelyek könnyen lemásolhatók és beilleszthetők. A Python hálózati programozási csalólap tartalmazza a szükséges közös telepítőmodulokat, mint a PIP és az IDLE, valamint a legjobb python hálózati programozási könyvtárakat. A csalólap tartalmazza továbbá a hálózati kriminalisztika szükséges python könyvtárakat és szkripteket, valamint a Python kulcsszavakat, adattípusokat, matematikai operátorokat és hálózati elemzést Python segítségével. A dnspython könyvtár és a Socket modul (Berkley API felület) is szerepel a csalólapban, valamint aljzatok típusai, aljzatok létrehozása és példák forgatókönyvre. A csalólap PDF és JPG formátumban is letölthető.