Python netwerk cheat sheet


Al die tabelle in die cheat-velle word ook in onderstaande tabelle aangebied, wat maklik is om te kopieer en te plak.

Die Python Netwerk Programmering Cheat Sheet dek:

  • Vereiste algemene installeringsmodules: PIP en IDLE
  • Top python-netwerk-programmeringsbiblioteke
  • Netwerkforensika: Vereiste pythonbiblioteke en skrifte
  • Python Sleutelwoorde
  • Datatipes, wiskundebeheerders
  • Netwerkanalise met Python
  • Die dnspython-biblioteek
  • Socket Module (Berkley API-koppelvlak)
  • Sokkiesoorte, sokke skep
  • Socket voorbeelde
  • Voorbeelde van die skrif
  • Analise-modules

Bekyk of laai die Cheat Sheet JPG-prent af

Klik met die rechtermuisknop op die afbeelding hieronder om die JPG-lêer (1987 breedte x 2362 hoogte in pixels) op te slaan, of klik hier om dit in ‘n nuwe blaaieroortjie oop te maak. Sodra die prentjie in ‘n nuwe venster oopmaak, moet u miskien op die prentjie klik om in te zoem en die jpeg in die volle grootte te sien.

Kyk of laai die cheat sheet PDF-lêer af

Laai die cheat sheet PDF-lêer hier af. As dit in ‘n nuwe blaaieroortjie oopmaak, klik dan net met die regterklik op die PDF en blaai na die aflaai-menu.

Wat is opgeneem in hierdie bedrogspulblad

Die volgende kategorieë en items is in die cheat sheet ingesluit:

Vereiste algemene installeringsmodules: PIP en IDLE

PIP (Python-pakketinstaller)

$ sudo apt-get install python-pip

IDLE (Geïntegreerde Ontwikkelings- en Leeromgewing)

$ sudo apt-get install idle

Top python-netwerk-programmeringsbiblioteke

Django

Python-webraamwerk op hoë vlak vir vinnige ontwikkeling en pragmaties

pycos (voorheen asyncoro)

Python-raamwerk vir asynchrone, gelyktydige, netwerk, verspreide programmering en verspreide rekenaarkunde

diesel

‘N Skoon API vir die skryf van netwerkkliënte en bedieners. TCP en UDP word ondersteun. Bundel kliënte vir HTTP, DNS, Redis, Riak en MongoDB.

pulsar

Maklike manier om skaalbare netwerkprogramme te bou

gedraai

Gebeurtenisgebaseerde raamwerk vir internet-toepassings: HTTP-kliënte en bedieners, SSHv2 en Telnet, IRC, XMPP, IMAPv4, POP3, SMTP, IMAPv4, POP3, SMTP, ens..

napalm

Netwerk-outomatisering en programmeerbare abstraksielaag met multivendor-ondersteuning – Vir die hantering van DVD-verskaffers

gevent

‘N Corythine-gebaseerde Python-netwerkbiblioteek wat greenlet gebruik om ‘n hoë vlak sinchrone API aan die bokant van die libev- of libuv-gebeurtenislus te bied

Seldery

Asynchrone taakwette / werkwette gebaseer op die verspreiding van die boodskap wat oorgedra is

Netwerkforensika: Vereiste pythonbiblioteke en skrifte

EDDIE-instrument

Stelsel- en netwerkmonitering-, sekuriteits- en prestasie-analise-agent vir python

pypcap

Klein pakkie-opname-instrument gebaseer op python en pcap

Paramiko

Implementering van die SSHv2-protokol, wat beide kliënt- en bedienerfunksionaliteit bied

pit

Pakketinstalleerder vir python

Die Python-pakketindeks (PyPI)

Bewaarplek van sagteware vir die Python

Python Sleutelwoorde

>>> invoer sleutelwoord
>>> druk (keyword.kwlist)

Python 2.7.15+ [‘en’, ‘als’, ‘beweer’, ‘breek’, ‘klas’, ‘gaan voort’, ‘def’, ‘del’, ‘elif’, ‘anders’, ‘behalwe’, ‘exec’, ‘ uiteindelik ‘,’ voor ‘,’ van ‘,’ globaal ‘,’ als ‘,’ invoer ‘,’ in ‘,’ is ‘,’ lambda ‘,’ nie ‘,’ of ‘,’ pas ‘,’ druk ‘ , ‘verhoog’, ‘terugkeer’, ‘probeer’, ‘terwyl’, ‘met’, ‘opbrengs’]

Python 3.8.0 [‘Onwaar’, ‘Geen’, ‘Waar’, ‘en’, ‘as’, ‘beweer’, ‘asynk’, ‘wag’, ‘breek’, ‘klas’, ‘gaan voort’, ‘def’, ‘ del ‘,’ elif ‘,’ anders ‘,’ behalwe ‘,’ uiteindelik ‘,’ voor ‘,’ van ‘,’ globaal ‘,’ als ‘,’ invoer ‘,’ in ‘,’ is ‘,’ lambda ‘ , ‘nie-lokaal’, ‘nie’, ‘of’, ‘slaag’, ‘verhoog’, ‘terugkeer’, ‘probeer’, ‘terwyl’, ‘met’, ‘opbrengst’]

Datatipes

teks

str – x = "Hello Wêreld"

numeriese

int, dryf, kompleks

volgorde

lys, tupel, reeks

Kartering

dict

stel

stel, frozenset

Boole

Bool

Binary

grepe, bytbord, geheuebeeld

Wiskundebeheerders

**

eksponent 4 ** 2 = 16

%

Modulus / Restant 43% 5 = 3

//

Heelgetalverdeling 11 // 5 = 2

/

afdeling 11/5 = 2.2

*

vermenigvuldiging 3 * 3 = 9

aftrek 8 – 3 = 5

+

Daarbenewens 2 + 2 = 4

==

Gelyk aan

!=

Nie gelyk aan

<

Minder as

>

Groter as

<=

Minder as of gelyk aan

>=

Groter as of gelyk aan

kommentaar

#

Kan gebruik word aan die begin van ‘n lyn, of binne ‘n lyn na die einde van die lyn

Netwerkanalise met Python

Gebruik NMAP met poortskandeerder

$ pip installeer python-nmap

Opdragte om NMAP-skandering uit te voer

invoer nmap
nmScan = nmap.PortScanner ()
nmScan.scan (’10 .1.0.0 ‘, ’25 -443’)

NMAP-opdragte wat met python gebruik word

nmScan.scaninfo () # {‘tcp’: {‘services’: ’25 -80 ‘,’ method ‘:’ connect ‘}}
nmScan.all_hosts ()
nmScan [’10 .1.0.0 ‘]. gasheernaam ()
nmScan [’10 .1.0.0 ‘]. state ()
nmScan [’10 .1.0.0 ‘]. all_protocols ()
nmScan [’10 .1.0.0 ‘] [‘ tcp ‘]. sleutels () # Resultate – [80, 25, 22, 135]
nmScan [’10 .1.0.0 ‘]. has_tcp (25) # resultaat waar / onwaar
nmScan [’10 .1.0.0 ‘]. has_tcp (21) # resultaat onwaar / waar

Die dnspython-biblioteek

installasie

$ pip installeer dnspython

Basiese DNS-navraag

voer dns.resolver in
name = ‘google.com’
vir tipe in ‘A’, ‘AAAA’, ‘MX’, ‘NS’, ‘TXT’, ‘SOA’:
antwoord = dns.resolver.query (naam, qtype, raise_on_no_answer = onwaar)
as antwoord.rrset nie Geen is nie:
druk (answer.rrset)

Kry MX-teiken- en naamvoorkeure

voer dns.resolver in

antwoorde = dns.resolver.query (‘dnspython.org’, ‘MX’)
vir rdata in antwoorde:
druk (‘Host’, rdata.exchange, ‘het voorkeur’, rdata.preference)

Socket Module (Berkley API-koppelvlak)

Primêre funksies en metodes

socket () • ind () • luister () • aanvaar () • verbind () • connect_ex () • stuur () • recv () • sluit ()

Soktipes

SOCK_STREAM

Vir TCP-protokolle • Betroubare transmissie • Pakkereeks • Verbindingsgerig • Tweerigting

SOCK_DGRAM

Vir UDP-protokolle • Onbetroubare transmissie • Geen reeks pakkies • Verbindingsloos (UDP) • Nie tweerigting nie

Sockets te skep

import socket # Voer die socket-metode in
socket.socket () # Funksie wat socket skep
sokkie = sok. socket (socket familie, socket tipe, protokol = waarde)

Socket Familie

AF_UNIX of AF_INET

Soort sok

SOCK_STREAM of SOCK_DGRAM vir TCP & UDP onderskeidelik

• b.v. TCP – UDP2 = aansluiting. socket (socket.AF_INET, socket.SOCK_DGRAM)

• b.v. UDP – TCP2 = aansluiting. socket (socket.AF_INET, socket.SOCK_STREAM)

Kliënt-sok-metode

Skakel ()

Bedienerspoortmetode

bind () • luister (agterstand) • aanvaar ()

TCP-sokmetodes

s.recv () # Ontvang TCP-pakkies
s.send () # Stuur TCP-pakkies

UDP-sokmetodes

s.recvfrom () # Ontvang UDP-pakkies
s.sendto () # Stuur UDP-pakkies uit

Meer sokmetodes

naby()

Sluit die aansluiting van die sok

gethostname ()

Wys ‘n string wat die gasheernaam van die huidige rekenaar insluit

gethostbyname ()

Wys ‘n string wat die gasheernaam en IP-adres van die huidige rekenaar insluit

luister ()

Stel die TCP-luisteraar op en begin

bind ()

Heg (gasheernaam, poortnommer) aan die aansluiting

aanvaar ()

TCP-kliëntverbinding wag

Skakel ()

Begin die TCP-bedienerverbinding

TCP-sokmetodes
mysocket.accept ()

Wys ‘n tule met die afstand adres wat gekoppel is

mysocket.bind (adres)

Heg die gespesifiseerde plaaslike adres aan die sok

mysocket.connect (adres)

Data wat deur die sok gestuur word, word aan die gegewe afstand adres toegeken

mysocket.getpeername ()

Wys die afstand adres waar die socket is gekoppel

mysocket.getsockname ()

Wys die adres van die plaaslike eindpunt van die aansluiting

mysocket.sendto (data, adres)

Dwing ‘n datapakket na ‘n spesifieke afstand adres

Sokblokkering

setblocking (1)

Opstelblok

setblocking (0)

Verwyder / ontkoppel blok

Kry poortnommer met behulp van domeinnaam

invoer sok
socket.getservbyname (‘domeinnaam’)

Gaan ondersteuning vir IPV6 na

invoer sok
socket.has_ipv6 # Antwoord is WAAR of ONWAAR

getaddrinfo () – Bind bediener aan ‘n hawe

vanaf socket invoer getaddrinfo
getaddrinfo (Geen, ‘FTP’, 0, socket.SOCK_STREAM, 0, socket.AI_PASSIVE)
[(2, 1, 6, ”, (‘0.0.0.0’, 21)), (10, 1, 6, ”, (‘::’, 21, 0, 0))]

Socket voorbeelde

Voorbeeld van kliënt-sok

invoer sok
s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
gasheer = socket.gethostname ()
port = 1111
mijnserver.bind ((gasheer, hawe)) # vervang mijnserver en myclient met repeterende IP’s
mijnserver.luister (5)
terwyl dit waar is:
myclient,addr = myserver.accept ()
druk ("Gekoppel aan {str (addr)}")
myclient.stuur (msg.encode ("ascii"))
myclient.naby()

Socket-voorbeeld van kliënt-kant met opmerkings

# voer die socketbiblioteek in
invoer sok

# skep ‘n sokobjek
s = socket.socket ()
druk ("Sok geskep")

# bespreek ‘n poort op die rekenaar wat alles kan wees
hawe = 1111

# bind aan die hawe
# leë string in die IP-veld in plaas van ‘n IP laat bediener na versoeke luister
# kom van ander rekenaars op die netwerk
s.bind ((”, poort))
druk ("aansluiting aan% s gebind" % (Hawe))

# maak aansluiting in luistermodus
s.listen (5)
druk ("sok luister")

# lus totdat die gebruiker dit onderbreek of ‘n fout voorkom
terwyl dit waar is:

# Vestig verbinding met kliënt.
c, addr = s.accept ()
druk (‘Het u verbinding van’, addr)

# stuur ‘n bedankingsboodskap aan die kliënt.
c.send (‘Dankie vir die verbinding’)

# Sluit die verbinding
c.close ()

Voorbeelde van die skrif

Skep ‘n lys toestelle

>>>toestelle = [‘SW1’, ‘SW2’, ‘SW3’]

Skep VLAN-woordeboeklys

vlans = [{‘id’: ‘100’, ‘name’: ‘staff’}, {‘id’: ‘200’, ‘name’: ‘VOICE’},
{‘id’: ‘300’, ‘name’: ‘draadloos’}]

Skryf funksies om opdragte te versamel en na die netwerk te stoot

>>>def get_commands (vlan, name):
opdragte = []
commands.append (‘vlan’ + vlan)
commands.append (‘naam’ + naam)

terug opdragte

>>> def push_commands (toestel, opdragte):
druk (‘Koppel aan toestel:’ + toestel)
vir cmd in opdragte:
druk (‘Stuuropdrag:’ + cmd)

Skep VLAN’s in meer as een skakelaar met behulp van ‘n python-skrif

>>>vir vlan in vlans:
id = vlan.get (‘id’)
name = vlan.get (‘naam’)
druk ( ‘\ N’)
druk (‘VLAN instel:’ + id)
opdragte = get_commands (id, naam)
vir apparaat in toestelle:
push_commands (toestel, opdragte)
druk ( ‘\ N’)

Aanhaling: https://www.oreilly.com/library/view/network-programmability-and/9781491931240/ch04.html

Skakel router-koppelvlak met behulp van python-opdrag uit

>>> vanaf push invoer push_commands
apparaat = ‘router2’
commando’s = [‘koppelvlak Eth0 / 1’, ‘shutdown’]
push_commands (toestel, opdragte)

Analise-modules

argparse ()

Die argparse module maak dit maklik om gebruikersvriendelike opdragreël-koppelvlakke te skryf. Die program definieer watter argumente dit benodig, en argparse sal uitvind hoe om dié uit sys.argv te ontleed

Skep ‘n ontleder

>>> parser = argparse.ArgumentParser (beskrywing = ‘Verwerk enkele heelgetalle.’)

Voeg argumente by

>>> parser.add_argument (‘heelgetalle’, metavar = ‘N’, type = int, nargs = ‘+’,
… help = ”n heelgetal vir die akkumulator’)
>>> parser.add_argument (‘- som’, dest = ‘versamel’, aksie = ‘store_const’,
… const = som, standaard = maks,
… help = ‘som die heelgetalle op (standaard: vind die maksimum)’)

Ontleed argumente

>>> parser.parse_args ([‘- som’, ‘7’, ‘-1′, ’42’])
Naamruimte (akkumuleer =, heelgetalle = [7, -1, 42])
Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me

    Like this post? Please share to your friends:
    Adblock
    detector
    map