Fletë mashtrimi të programimit të rrjetit Python


Të gjitha tabelat e paraqitura në fletët e mashtrimit janë paraqitur edhe në tabela më poshtë të cilat janë lehtësisht të kopjuara dhe ngjitur.

Shefi i mashtrimeve të programimit të rrjetit Python mbulon:

  • Modulet e kërkuara të instalimit të zakonshëm: PIP dhe IDLE
  • Bibliotekat kryesore të programimit të rrjetit python
  • Forenzika e rrjetit: Biblioteka dhe skriptet e kërkuara nga pyjoni
  • Fjalë kyçe Python
  • Llojet e të dhënave, operatorët e matematikës
  • Analiza e rrjetit me Python
  • Biblioteka e dnspython
  • Modul i foleve (ndërfaqja API e Berkley)
  • Llojet e foleve, krijimi i bazave
  • Shembuj prizash
  • Shembuj të shkrimeve
  • Modulet e analizimit

Shikoni ose Shkarkoni imazhin e Cheat Sheet JPG

Klikoni me të djathtën mbi imazhin më poshtë për të ruajtur skedarin JPG (lartësia 1987 në lartësi x 2362 në pixel), ose klikoni këtu për ta hapur atë në një skedar të ri shfletuesi. Pasi të hapet imazhi në një dritare të re, ju mund të duhet të klikoni në imazh për të zmadhuar dhe për të parë jpeg me madhësi të plotë.

Shikoni ose Shkarkoni skedarin PDF të mashtrimit

Shkarkoni skedarin PDF të mashtrimit këtu. Kur hapet në një skedar të ri shfletuesi, thjesht klikoni me të djathtën në PDF dhe lundroni në menunë e shkarkimit.

’Farë përfshihet në këtë fletë mashtrimi

Kategoritë dhe artikujt e mëposhtëm janë përfshirë në fletën e mashtrimit:

Modulet e kërkuara të instalimit të zakonshëm: PIP dhe IDLE

PIP (Instaluesi i Paketave Python)

$ sudo apt-merrni instaloni python-pip

IDLE (Mjedisi i Integruar i Zhvillimit dhe Mësimit)

$ sudo apt-merrni instalimin boshe

Bibliotekat kryesore të programimit të rrjetit python

Django

Kuadri i nivelit të lartë Python Web për zhvillim të shpejtë dhe pragmatik

picos (më parë asyncoro)

Kuadri i Python për rrjetin asinkron, të njëkohshëm, të programuar dhe shpërndarjen e informatikës

naftë

Një API i pastër për të shkruar klientët dhe serverët e rrjetit. TCP dhe UDP mbështetur. Barton klientët për HTTP, DNS, Redis, Riak dhe MongoDB.

pulsar

Mënyrë e thjeshtë për të krijuar programe të shkallëzuara të rrjetit

i shtrembëruar

Kuadri i bazuar në ngjarje për aplikimet në internet: Klientë dhe serverë HTTP, SSHv2 dhe Telnet, IRC, XMPP, IMAPv4, POP3, SMTP, IMAPv4, POP3, SMTP, etj.

napalm

Automatizimi i rrjetit dhe shtresa e abstraksionit të programueshmërisë me mbështetje Multivendor – Për trajtimin me shitësit e këshillave

gevent

Një bibliotekë e bazuar në rrjetin Python me bazë koroutine që përdor greenlet për të siguruar një API sinkron të nivelit të lartë në majën e lakut të ngjarjeve libev ose libuv

selino

Radhë asinkrone e detyrës / radhë e punës bazuar në kalimin e mesazheve të shpërndara

Forenzika e rrjetit: Biblioteka dhe skriptet e kërkuara nga pyjoni

Vegla EDDIE

Monitorimi i sistemit dhe rrjetit, siguria dhe agjenti i analizës së performancës për python

pypcap

Vegël e vogël për kapjen e paketave bazuar në python dhe pcap

Paramiko

Implementimi i protokollit SSHv2, duke siguruar funksionimin e klientit dhe serverit

kumbull

Instaluesi i paketave për python

Indeksi i Paketave Python (PyPI)

Depo e softuerëve për Python

Fjalë kyçe Python

>>> fjalen e importit
>>> shtypura (keyword.kwlist)

Python 2.7.15+ [‘dhe’, ‘si’, ‘pohoj’, ‘pushim’, ‘klas’, ‘vazhdoj’, ‘def’, ‘del’, ‘elif’, ‘tjeter’, ‘pervec’, ‘ekzekut’, ‘ më në fund ‘,’ për ‘,’ nga ‘,’ global ‘,’ if ‘,’ import ‘,’ in ‘,’ is ‘,’ lambda ‘,’ not ‘,’ or ‘,’ pass ‘,’ print ” , ‘ngre’, ‘kthim’, ‘provo’, ‘ndersa’, ‘me’, ‘rendiment’

Python 3.8.0 [‘Falso’, ‘Asnjë’, ‘E vërtetë’, ‘dhe’, ‘as’, ‘pohoj’, ‘async’, ‘pres’, ‘break’, ‘class’, ‘vazhdojnë’, ‘def’, ‘ del ‘,’ elif ‘,’ other ‘,’ pervec ‘,’ perfundimisht ‘,’ per ‘,’ nga ‘,’ global ‘,’ if ‘,’ import ‘,’ in ‘,’ is ‘,’ lambda ‘ , ‘jolocale’, ‘jo’, ‘ose’, ‘kaloj’, ‘ngre’, ‘kthim’, ‘provo’, ‘ndersa’, ‘me’, ‘rendiment’

Llojet e të dhënave

tekst

str – x = "Përshendetje Botë"

numerike

int, noton, komplekse

rend

lista, tuple, varg

planifikim

Dict

i vendosur

vendosur, frozenset

Boolean

bool

dyjor

bytes, bytearray, pamja e kujtesës

Operatorët e matematikës

**

shprehje 4 ** 2 = 16

%

Modulus / e mbetur 43% 5 = 3

//

Ndarja e interesit 11 // 5 = 2

/

ndarje 11/5 = 2.2

*

shumëzim 3 * 3 = 9

zbritje 8 – 3 = 5

+

shtim 2 + 2 = 4

==

E barabartë me

!=

Jo e barabartë me

<

Më pak se

>

Më i madh se

<=

Më pak se ose e barabartë me

>=

Më e madhe se ose e barabartë me

Comments

#

Mund të përdoret në fillimin e një rreshti, ose nga brenda një rreshti deri në fund të rreshtit

Analiza e rrjetit me Python

Përdorni NMAP me skanues porti

$ pip instaloni python-nmap

Komandat për të ekzekutuar skanimin NMAP

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

Komandat NMAP të përdorura me python

nmScan.scaninfo () # {‘tcp’: services ‘shërbime’: ‘25 -80 ‘,’ metodë ‘:’ lidheni ‘}}
nmScan.all_hosts ()
nmScan [’10 .1.0.0 ‘]. hostname ()
nmScan [’10 .1.0.0 ‘]. shtet ()
nmScan [’10 .1.0.0 ‘]. all_protocols ()
nmScan [’10 .1.0.0 ‘] [‘ tcp ‘]. çelësat () # Rezultatet – [80, 25, 22, 135]
nmScan [’10 .1.0.0 ‘]. has_tcp (25) # Rezultat i vërtetë / i rremë
nmScan [’10 .1.0.0 ‘]. has_tcp (21) # Rezultat i rremë / i vërtetë

Biblioteka e dnspython

instalim

$ pip instaloni dnspython

Pyetja themelore e DNS

import dns.resolver
emri = ‘google.com’
për qtype në ‘A’, ‘AAAA’, ‘MX’, ‘NS’, ‘TXT’, ‘SOA’:
përgjigje = dns.resolver.query (emri, qtype, ngritja_on_no_answer = false)
nëse përgjigja.rrset nuk është Asnjë:
shtypura (answer.rrset)

Merrni synimin MX dhe preferencën e emrit

import dns.resolver

përgjigjet = dns.resolver.query (‘dnspython.org’, ‘MX’)
për rdata në përgjigje:
shtyp (“host”, rdata.exchange, ‘ka preferencë’, rdata.preference)

Modul i foleve (ndërfaqja API e Berkley)

Funksionet parësore një metodë

fole () • ind () • degjoj () • pranoj () • lidh () • lidh_ex () • dergo () • recv () • mbyll ()

Llojet e foleve

SOCK_STREAM

Për protokollet TCP • Transmetimi i besueshëm • Sekuenca e paketave • Orientimi i lidhjes • Birectional

SOCK_DGRAM

Për protokollet UDP • Transmetim jo i besueshëm • Asnjë sekuencë paketash • Pa lidhje (UDP) • Jo me dy drejtime

Krijimi i bazave

import fole # Importon metodën e fole
fole.socket () # Funksion që krijon fole
çorap = fole. fole (familja e foleve, lloji i foleve, protokolli = vlera)

Familja e foleve

AF_UNIX ose AF_INET

Lloji i foleve

SOCK_STREAM ose SOCK_DGRAM për TCP & Respektivisht UDP

• p.sh. TCP – UDP2 = fole. fole (fole.AF_INET, fole.SOCK_DGRAM)

• p.sh. UDP – TCP2 = fole. fole (fole.AF_INET, fole.SOCK_STREAM)

Metoda e prizës së klientit

Connect ()

Metoda e prizës së serverit

lidh () • dëgjo (lëndë prapa) • pranon ()

Metodat e prizës TCP

s.recv () # Merrni pako TCP
s.send () # Dërgoni pako TCP

Metodat e prizës UDP

s.recvfrom () # Merr pako UDP
s.sendto () # Transmeton paketat UDP

Metoda më shumë prizë

close ()

Mbyllni lidhjen e foleve

gethostname ()

Kthen një varg i cili përfshin emrin e hostit të PC aktuale

gethostbyname ()

Kthen një varg i cili përfshin emrin e hostit dhe adresën IP të PC aktuale

dëgjojnë ()

Vendosni dhe filloni dëgjuesin TCP

lidh ()

Bashkangjit (emri i hostit, numri i portit) në prizë

pranojë ()

Lidhja e klientit TCP prisni

Connect ()

Filloni lidhjen e serverit TCP

Metodat e prizës TCP
mysocket.accept ()

Kthen një tufë me adresën e largët që është lidhur

mistocket.bind (adresa)

Bashkangjit adresën e specifikuar lokale në prizë

mysocket.connect (adresa)

Të dhënat e dërguara përmes prizës caktojnë në adresën e dhënë në distancë

mysocket.getpeername ()

Kthen adresën e largët, ku foleja është e lidhur

mysocket.getsockname ()

Kthen adresën e pikës fundore lokale të foleve

mysocket.sendto (të dhëna, adresa)

Forconi një paketë të dhënash në një adresë specifike në distancë

Bllokimi i foleve

setblocking (1)

Blloku i konfigurimit

setblocking (0)

Hiq / blloko konfigurimin

Merrni numrin e portit duke përdorur emrin e domain

fole importi
socket.getservbyname (“emri i domain”)

Kontrolloni mbështetjen për IPV6

fole importi
socket.has_ipv6 # Përgjigjja është e VRTET or ose e FAL

getaddrinfo () – Server Bind në një Port

nga importi i foleve getaddrinfo
getaddrinfo (Asnjë, ‘FTP’, 0, fole.SOCK_STREAM, 0, fole.AI_PASSIVE)
[(2, 1, 6, ”, (‘0.0.0.0’, 21)), (10, 1, 6, ”, (‘::’, 21, 0, 0))]

Shembuj prizash

Shembull fole nga ana e klientit

fole importi
s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
host = socket.gethostname ()
port = 1111
myserver.lidh ((host, port)) # zëvendësoj myserver dhe myclient me IP repsektive
myserver.dëgjojnë (5)
ndërsa e vërtetë:
myclient,addr = myserver.accept ()
shtypura ("Lidhur me {str (addr)}")
myclient.dërguar (msg.encode ("ascii"))
myclient.close ()

Shembull Socket nga ana e klientit me Komente

# importoni bibliotekën e foleve
fole importi

# krijoni një objekt fole
s = fole. fole ()
shtypur ("Socket krijuar")

# rezervoni një port në kompjuter i cili mund të jetë gjithçka
porti = 1111

# lidhet me portin
# vargu i zbrazët në fushën IP në vend të një IP bën që serveri të dëgjojë kërkesa
# që vijnë nga kompjuterë të tjerë në rrjet
s.bind ((”, port))
shtypur ("fole e lidhur me% s" % (Port))

# bëj fole në modalitetin e të dëgjuarit
s.listen (5)
shtypur ("fole është duke dëgjuar")

# lak derisa përdoruesi ta ndërpresë atë ose të ndodhë ndonjë gabim
ndërsa e vërtetë:

# Vendosni lidhje me klientin.
c, adrues = s.accept ()
shtypni (‘Marr lidhje nga’, shtues)

# dërgoni një mesazh falënderimi për klientin.
c.send (‘Faleminderit për lidhjen’)

# Mbyll lidhjen
c.close ()

Shembuj të shkrimeve

Krijoni listën e pajisjeve

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

Krijoni listën e fjalorëve VLAN

vlans = [{‘id’: ‘100’, ’emri’: ‘stafi’}, {‘id’: ‘200’, ’emri’: ‘VOICE’,
id ‘id’: ‘300’, ’emri’: ‘wireless’}]

Shkruaj funksione për të mbledhur komanda dhe për të shtyrë rrjetin

>>>def get_commands (vlan, emër):
komandat = []
komandat.append (‘vlan’ + vlan)
komandat.append (’emri’ + emri)

komandat e kthimit

>>> def_commands def (pajisje, komanda):
shtypni (‘Lidhja me pajisjen:’ + pajisjen)
për cmd në komanda:
shtypni (‘Komanda e Dërgimit:’ + cmd)

Krijoni VLAN në çelsin e shumëfishtë duke përdorur skenarin python

>>>për vlan në vlans:
id = vlan.get (‘id’)
emri = vlan.get (’emri’)
shtypura ( ‘\ n’)
shtyp (“Konfiguro VLAN: ‘+ id)
komandat = get_commands (id, emri)
për pajisjen në pajisje:
push_commands (pajisje, komanda)
shtypura ( ‘\ n’)

Citimi: https://www.oreilly.com/library/view/network-programmabil-and/9781491931240/ch04.html

Ableaktivizoni ndërfaqen e ruterit duke përdorur komandën python

>>> nga importi shtytës push_commands
pajisje = ‘ruter2’
komandat = [‘ndërfaqja Eth0 / 1’, ‘mbyllja’]
push_commands (pajisje, komanda)

Modulet e analizimit

argparse ()

Moduli argparse e bën të lehtë të shkruani ndërfaqet e linjës komanduese miqësore për përdoruesit. Programi përcakton se çfarë argumentesh kërkon, dhe argumenti do të kuptojë se si t’i analizojë ato nga sys.argv

Krijimi i një analisti

>>> parser = argparse.ArgumentParser (përshkrimi = ‘Përpunoni disa numër të plotë.’)

Shtimi i argumenteve

>>> parser.add_argument (‘numra të plotë’, metavar = ‘N’, lloji = int, nargs = ‘+’,
… ndihmë = ‘një numër i plotë për akumulatorin’)
>>> parser.add_argument (‘- shuma’, dest = ‘grumbullohet’, veprim = ‘store_const’,
… const = shuma, parazgjedhur = max,
… help = ‘shuma e numrave të plotë (parazgjedhur: gjeni maksimumin’)

Parsing argumente

>>> parser.parse_args ([‘- shuma’, ‘7’, ‘-1′, ’42’])
Hapësira e emrave (grumbullo =, numra të plotë = [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