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

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’)
para sa rdata sa mga sagot:
i-print (‘Host’, rdata.exchange, ‘ay may kagustuhan’, rdata.preference)

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
s = socket.socket ()
i-print ("Nilikha ang socket")

# magreserba ng isang port sa computer na maaaring anupaman
port = 1111

# magbigkis sa daungan
# walang laman na string sa patlang ng IP sa halip na isang IP ay pinakinggan ng server ang mga kahilingan
# na nagmula sa iba pang mga computer sa network
s.bind ((”, port))
i-print ("socket na nakatali sa% s" % (port))

# gumawa ng socket sa mode ng pakikinig
s.listen (5)
i-print ("ang socket ay nakikinig")

# loop hanggang matakpan ito ng gumagamit o naganap ang isang error
habang Totoo:

# Magtatag ng koneksyon sa client.
c, addr = s.accept ()
i-print (‘May koneksyon mula sa’, addr)

# magpadala ng isang salamat sa iyo ng mensahe sa kliyente.
c.send (‘Salamat sa koneksyon’)

# Isara ang koneksyon
c.close ()

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):
i-print (‘Pagkonekta sa aparato:’ + aparato)
para sa cmd sa mga utos:
i-print (‘Nagpapadala ng utos:’ + cmd)

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])
Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me

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