Python network programming cheat sheet
Ang lahat ng mga talahanayan na ibinigay sa cheat sheet ay ipinakita din sa mga talahanayan sa ibaba na madaling kopyahin at i-paste.
Ang Python Network Programming cheat Sheet takip:
- Mga kinakailangang karaniwang module ng pag-install: PIP at IDLE
- Nangungunang mga library ng programming sa python network
- Mga forensics ng network: Mga kinakailangang aklatan sa python at script
- Mga Keyword sa Python
- Mga Uri ng Data, Mga operator ng matematika
- Pagtatasa ng Network sa Python
- Ang library ng dnspython
- Sule Module (interface ng Berkley API)
- Mga Uri ng Socket, Paglikha ng mga Socket
- Mga Halimbawa ng Socket
- Mga Halimbawa ng Script
- Mga Module ng Parsing
Contents
- 1 Tingnan o I-download ang imaheng impostor na JPG na imahe
- 2 Tingnan o I-download ang file ng PDF sa cheat cheat
- 3 Ano ang kasama sa cheat sheet na ito
- 3.1 Mga kinakailangang karaniwang module ng pag-install: PIP at IDLE
- 3.2 Nangungunang mga library ng programming sa python network
- 3.3 Mga forensics ng network: Mga kinakailangang aklatan sa python at script
- 3.4 Mga Keyword sa Python
- 3.5 Uri ng data
- 3.6 Mga operator ng matematika
- 3.7 Mga Komento
- 3.8 Pagtatasa ng Network sa Python
- 3.9 Ang library ng dnspython
- 3.10 Sule Module (interface ng Berkley API)
- 3.11 Mga Uri ng Socket
- 3.12 Paglikha ng Socket
- 3.13 Mga Halimbawa ng Socket
- 3.14 Mga Halimbawa ng Script
- 3.15 Mga Module ng Parsing
Tingnan o I-download ang imaheng impostor na JPG na imahe
Mag-right-click sa imahe sa ibaba upang i-save ang JPG file (1987 lapad x 2362 taas sa mga pixel), o mag-click dito upang buksan ito sa isang bagong tab na browser. Kapag bumukas ang imahe sa isang bagong window, maaaring kailangan mong mag-click sa imahe upang mag-zoom in at tingnan ang buong laki ng jpeg.
Tingnan o I-download ang file ng PDF sa cheat cheat
I-download ang cheat sheet na file na PDF dito. Kapag nagbukas ito sa isang bagong tab ng browser, mag-click lamang sa PDF at mag-navigate sa menu ng pag-download.
Ano ang kasama sa cheat sheet na ito
Ang mga sumusunod na kategorya at item ay kasama sa cheat sheet:
Mga kinakailangang karaniwang module ng pag-install: PIP at IDLE
PIP (Python Package Installer) | $ sudo apt-get install python-pip |
IDLE (Pinagsamang Development and Learning Environment) | $ sudo apt-get idle idle |
Nangungunang mga library ng programming sa python network
Django | Mataas na antas ng Python Web framework para sa mabilis na pag-unlad at pragmatic |
pycos (dating asyncoro) | Ang balangkas ng Python para sa asynchronous, concurrent, network, ipinamamahagi ang programming at ipinamamahagi na computing |
Diesel | Isang malinis na API para sa pagsulat ng mga kliyente ng network at server. Suportado ng TCP at UDP. Mga kliyente ng Bundles para sa HTTP, DNS, Redis, Riak at MongoDB. |
Pulsar | Madaling paraan upang makabuo ng mga scalable na programa sa network |
Napilipit | Ang balangkas na nakabase sa kaganapan para sa mga aplikasyon sa internet: mga kliyente at server ng HTTP, SSHv2 at Telnet, IRC, XMPP, IMAPv4, POP3, SMTP, IMAPv4, POP3, SMTP, atbp. |
NAPALM | Network Automation at Programmability Abstraction Layer na may suporta sa Multivendor – Para sa pakikitungo sa mga vendor ng dvice |
gevent | Isang coroutine -based Python networking library na gumagamit ng greenlet upang magbigay ng isang mataas na antas na magkasabay na API sa tuktok ng libev o libuv event loop |
Kintsay | Asynchronous task queue / job queue batay sa ipinamamahagi na mensahe |
Mga forensics ng network: Mga kinakailangang aklatan sa python at script
Tool ng EDDIE | Pagmamanman ng system at network, seguridad, at ahente ng pagtatasa ng pagganap para sa python |
pypcap | Maliit na tool ng pagkuha ng packet batay sa python at pcap |
Paramiko | Pagpapatupad ng SSHv2 protocol, na nagbibigay ng parehong client at server function |
pip | Package installer para sa python |
Ang Index ng Python Package (PyPI) | Ang imbakan ng software para sa Python |
Mga Keyword sa Python
>>> import keyword >>> i-print (keyword.kwlist) |
Python 2.7.15+ [‘at’, ‘bilang’, ‘assert’, ‘break’, ‘klase’, ‘magpatuloy’, ‘def’, ‘del’, ‘elif’, ‘ibang’, ‘maliban sa’, ‘exec’, ‘ sa wakas ‘,’ para sa ‘,’ mula sa ‘,’ global ‘,’ kung ‘,’ import ‘,’ in ‘,’ ay ‘,’ lambda ‘,’ hindi ‘,’ o ‘,’ pass ‘,’ print ‘ , ‘itaas’, ‘bumalik’, ‘subukan’, ‘habang’, ‘kasama’, ‘ani’] |
Python 3.8.0 [‘Mali’, ‘Wala’, ‘Totoo’, ‘at’, ‘bilang’, ‘assert’, ‘async’, ‘naghihintay’, ‘break’, ‘klase’, ‘magpatuloy’, ‘def’, ‘ del ‘,’ elif ‘,’ iba ‘,’ maliban ‘,’ sa wakas ‘,’ para sa ‘,’ mula sa ‘,’ global ‘,’ kung ‘,’ import ‘,’ in ‘,’ ay ‘,’ lambda ‘ , ‘nonlocal’, ‘hindi’, ‘o’, ‘pass’, ‘itaas’, ‘bumalik’, ‘subukan’, ‘habang’, ‘with’, ‘ani’] |
Uri ng data
Teksto | str – x = "Kamusta Mundo" |
Numeric | int, float, kumplikado |
Sequence | listahan, nakalawit, saklaw |
Pagma-map | dikt |
Itakda | itakda, frozenset |
Boolean | bool |
Binary | byte, bytearray, memorya ng memorya |
Mga operator ng matematika
** | Matalino 4 ** 2 = 16 |
% | Modulus / Sira 43% 5 = 3 |
// | Paghahati sa integer 11 // 5 = 2 |
/ | Dibisyon 11/5 = 2.2 |
* | Pagpaparami 3 * 3 = 9 |
– | Pagbabawas 8 – 3 = 5 |
+ | Pagdagdag 2 + 2 = 4 |
== | Katumbas ng |
!= | Hindi kapareho ng |
< | Mas mababa sa |
> | Mahigit sa |
<= | Mas mababa sa o Katumbas sa |
>= | Mas malaki kaysa sa o katumbas ng |
Mga Komento
# | Maaaring magamit sa pagsisimula ng isang linya, o mula sa loob ng isang linya hanggang sa dulo ng linya |
Pagtatasa ng Network sa Python
Gumamit ng NMAP gamit ang port scanner | $ pip na naka-install ng python-nmap |
Nag-uutos na patakbuhin ang NMAP scan | import nmap nmScan = nmap.PortScanner () nmScan.scan (’10 .1.0.0 ‘, ’25 -443’) |
Ang mga utos ng NMAP na ginamit gamit ang python | nmScan.scaninfo () # {‘tcp’: {‘mga serbisyo’: ’25 -80 ‘,’ pamamaraan ‘:’ kumonekta ‘}} nmScan.all_host () nmScan [’10 .1.0.0 ‘]. hostname () nmScan [’10 .1.0.0 ‘]. estado () nmScan [’10 .1.0.0 ‘]. all_protocols () nmScan [’10 .1.0.0 ‘] [‘ tcp ‘]. susi () # Resulta – [80, 25, 22, 135] nmScan [’10 .1.0.0 ‘]. has_tcp (25) # Resulta Totoo / Mali nmScan [’10 .1.0.0 ‘]. has_tcp (21) # Resulta Mali / Totoo |
Ang library ng dnspython
Pag-install | $ pip install dnspython |
Pangunahing query sa DNS | import dns.resolver pangalan = ‘google.com’ para sa qtype sa ‘A’, ‘AAAA’, ‘MX’, ‘NS’, ‘TXT’, ‘SOA’: sagot = dns.resolver.query (pangalan, qtype, itaas_on_no_answer = Mali) kung ang sagot.rrset ay hindi Wala: mag-print (answer.rrset) |
Kumuha ng MX target at kagustuhan sa pangalan | import dns.resolver sagot = dns.resolver.query (‘dnspython.org’, ‘MX’) |
Sule Module (interface ng Berkley API)
Pangunahing Gawain ng Mga Paraan | socket () • ind () • makinig () • tanggapin () • kumonekta () • connect_ex () • magpadala () • recv () • malapit () |
Mga Uri ng Socket
SOCK_STREAM | Para sa mga protocol ng TCP • maaasahang paghahatid • Pagkakasunud-sunod ng packet • oriented na koneksyon • Bidirectional |
SOCK_DGRAM | Para sa mga protocol ng UDP • Hindi maaasahang paghahatid • Walang pagkakasunud-sunod ng mga packet • Walang koneksyon (UDP) • Hindi Bidirectional |
Paglikha ng Socket
import ng socket # I-import ang pamamaraan ng socket socket.socket () # Function na lumilikha ng socket | |
medyas = socket. socket (socket pamilya, uri ng socket, protocol = halaga) | |
Socket Family | AF_UNIX o AF_INET |
Uri ng Socket | SOCK_STREAM o SOCK_DGRAM para sa TCP & Ayon sa pagkakabanggit ng UDP • hal. TCP – UDP2 = socket. socket (socket.AF_INET, socket.SOCK_DGRAM) • hal. UDP – TCP2 = socket. socket (socket.AF_INET, socket.SOCK_STREAM) |
Paraan ng socket ng kliyente | kumonekta () |
Paraan ng socket ng server | magbigkis () • makinig (backlog) • tanggapin () |
Mga pamamaraan ng TCP socket | s.recv () # Tumanggap ng mga packet TCP s.send () #Send TCP packet |
Mga pamamaraan ng UDP socket | s.recvfrom () # Tumatanggap ng mga UDP packet s.sendto () # Transmits UDP packet |
Marami pang Mga Pamamaraan ng Socket | |
malapit () | Isara ang koneksyon sa socket |
gethostname () | Nagbabalik ng isang string na kasama ang hostname ng kasalukuyang PC |
gethostbyname () | Nagbabalik ng isang string na kasama ang hostname at IP address ng kasalukuyang PC |
makinig () | Pag-setup at simulan ang tagapakinig ng TCP |
magbigkis() | Ikabit (pangalan ng host, numero ng port) sa socket |
tanggapin () | Naghihintay ang koneksyon ng kliyente ng TCP |
kumonekta () | Simulan ang koneksyon sa server ng TCP |
Mga Paraan ng TCP Socket | |
mysocket.accept () | Nagbabalik ng isang tuple na may malayong address na nakakonekta |
mysocket.bind (address) | Ikabit ang tinukoy na lokal na address sa socket |
mysocket.connect (address) | Ang data na ipinadala sa pamamagitan ng mga socket ay nagtalaga sa naibigay na malayong address |
mysocket.getpeername () | Ibinabalik ang malayuang address kung saan nakakonekta ang socket |
mysocket.getsockname () | Ibinabalik ang address ng sariling lokal na punto ng socket |
mysocket.sendto (data, address) | Pilitin ang isang packet ng data sa isang tiyak na remote address |
Pag-block ng Socket | |
pag-lock ng setblock (1) | Pag-set up ng bloke |
pag-lock ng setblock (0) | Alisin / un-setup block |
Kumuha ng numero ng port gamit ang pangalan ng domain | import ng socket socket.getservbyname (‘pangalan ng domain’) |
Suriin ang suporta para sa IPV6 | import ng socket socket.has_ipv6 # Sagot ay TUNAY o FALSE |
getaddrinfo () – Bind Server sa isang Port | mula sa socket import getaddrinfo getaddrinfo (Wala, ‘FTP’, 0, socket.SOCK_STREAM, 0, socket.AI_PASSIVE) [(2, 1, 6, ”, (‘0.0.0.0’, 21)), (10, 1, 6, ”, (‘::’, 21, 0, 0))] |
Mga Halimbawa ng Socket
Mga halimbawa ng socket ng kliyente |
import ng socket s = socket.socket (socket.AF_INET, socket.SOCK_STREAM) host = socket.gethostname () port = 1111 myserver.magbigkis ((host, port)) # palitan myserver at ang aking kliyente may mga repsctive IP myserver.makinig (5) habang Totoo: ang aking kliyente,addr = myserver.accept () i-print ("Nakakonekta sa {str (addr)}") ang aking kliyente.ipadala (msg.encode ("pagkalinga") ang aking kliyente.malapit () |
Halimbawa ng Client-side Socket na may mga Komento |
# i-import ang socket library import ng socket # lumikha ng isang bagay na socket # magreserba ng isang port sa computer na maaaring anupaman # magbigkis sa daungan # gumawa ng socket sa mode ng pakikinig # loop hanggang matakpan ito ng gumagamit o naganap ang isang error # Magtatag ng koneksyon sa client. # magpadala ng isang salamat sa iyo ng mensahe sa kliyente. # Isara ang koneksyon |
Mga Halimbawa ng Script
Lumikha ng listahan ng mga aparato |
>>>aparato = [‘SW1’, ‘SW2’, ‘SW3’] |
Lumikha ng listahan ng diksyunaryo VLAN |
vlans = [{‘id’: ‘100’, ‘pangalan’: ‘staff’}, {‘id’: ‘200’, ‘pangalan’: ‘VOICE’}, {‘id’: ‘300’, ‘pangalan’: ‘wireless’}] |
Sumulat ng mga function upang mangolekta ng mga utos at itulak sa network |
>>>def get_commands (vlan, pangalan): mga utos = [] commands.append (‘vlan’ + vlan) commands.append (‘pangalan’ + pangalan) mga utos sa pagbabalik >>> def push_commands (aparato, utos): |
Lumikha ng mga VLAN sa maraming switch gamit ang script ng python |
>>>para sa vlan sa vlans: id = vlan.get (‘id’) pangalan = vlan.get (‘pangalan’) i-print (‘\ n’) i-print (‘I-configure ang VLAN:’ + id) mga utos = get_commands (id, pangalan) para sa aparato sa mga aparato: push_commands (aparato, utos) i-print (‘\ n’) |
Pagsipi: https://www.oreilly.com/library/view/network-programmability-and/9781491931240/ch04.html |
Huwag paganahin ang interface ng router gamit ang utos ng python |
>>> mula sa pag-import ng push_commands aparato = ‘router2’ utos = [‘interface Eth0 / 1’, ‘pag-shutdown’] push_commands (aparato, utos) |
Mga Module ng Parsing
argparse () | Ginagawang madali ng modyul na module na isulat ang mga interface ng command-line na user-friendly. Tinutukoy ng programa kung ano ang mga pangangatwiran na kinakailangan nito, at malalaman ng argparse kung paano i-parse ang mga out of sys.argv |
Paglikha ng isang parse | >>> parser = argparse.ArgumentParser (paglalarawan = ‘Proseso ang ilang mga integer.’) |
Pagdaragdag ng mga argumento | >>> parser.add_argument (‘integers’, metavar = ‘N’, type = int, nargs = ‘+’, … help = ‘isang integer para sa nagtitipon’) >>> parser.add_argument (‘- sum’, dest = ‘maipon’, aksyon = ‘store_const’, … const = sum, default = max, … help = ‘sumulat ng kabuuan ng mga integer (default: hanapin ang max)’) |
Mga argumento sa pag-parsing | >>> parser.parse_args ([‘- sum’, ‘7’, ‘-1′, ’42’]) Namespace (maipon =, integer = [7, -1, 42]) |