Всички таблици, предоставени в мамят листове, също са представени в таблици по-долу, които са лесни за копиране и поставяне.
Най- Python Network Programming Cheat Sheet капаци:
- Необходими общи инсталационни модули: PIP и IDLE
- Водещи библиотеки за програмиране на мрежата на python
- Мрежова криминалистика: Задължителни библиотеки и скриптове на python
- Ключови думи на Python
- Типове данни, математически оператори
- Мрежов анализ с Python
- Библиотеката на dnspython
- Socket модул (интерфейс на Berkley API)
- Видове гнезда, създаване на гнезда
- Примери за гнездо
- Примери за скриптове
- Разбиращи модули
Преглед или изтегляне на Cheat Sheet JPG изображение
Щракнете с десния бутон върху изображението по-долу, за да запишете JPG файла (1987 ширина x 2362 височина в пиксели), или щракнете тук, за да го отворите в нов раздел на браузъра. След като изображението се отвори в нов прозорец, може да се наложи да щракнете върху изображението, за да го увеличите и да видите jpeg в пълен размер.
Преглед или изтегляне на PDF файла на мамяния
Изтеглете PDF файла на мамяния лист тук. Когато се отвори в нов раздел на браузъра, просто кликнете с десния бутон на мишката върху PDF и отворете менюто за изтегляне.
Какво е включено в този мамят лист
Следните категории и елементи са включени в мамят листа:
Необходими общи инсталационни модули: PIP и IDLE
PIP (инсталатор на пакет за Python) | $ sudo apt – вземете инсталирайте python-pip |
IDLE (Интегрирана среда за развитие и обучение) | $ sudo apt – получите инсталиране на празен ход |
Водещи библиотеки за програмиране на мрежата на python
Django | Уеб рамка на високо ниво Python за бързо развитие и прагматична |
пикос (преди асинкоро) | Python рамка за асинхронно, едновременно, мрежово, разпределено програмиране и разпределени изчисления |
дизел | Чист API за писане на мрежови клиенти и сървъри. TCP и UDP се поддържат. Пакети клиенти за HTTP, DNS, Redis, Riak и MongoDB. |
Пулсар | Лесен начин за изграждане на мащабируеми мрежови програми |
усукан | Създадена на събитията рамка за интернет приложения: HTTP клиенти и сървъри, SSHv2 и Telnet, IRC, XMPP, IMAPv4, POP3, SMTP, IMAPv4, POP3, SMTP и т.н.. |
NAPALM | Слой за абстракция на мрежата за автоматизация и програмируемост с поддръжка на мултивиндор – за работа с доставчици на устройства |
gevent | Мрежова библиотека на Python, базирана на coroutine, която използва greenlet за осигуряване на синхронен API за високо ниво на връзката на събитието на libev или libuv |
Целина | Асинхронна опашка задача / опашка за задачи въз основа на разпределено предаване на съобщение |
Мрежова криминалистика: Задължителни библиотеки и скриптове на python
EDDIE инструмент | Системни и мрежови мониторинг, сигурност и анализ на ефективността на python |
pypcap | Малък инструмент за улавяне на пакети, базиран на python и pcap |
Paramiko | Внедряване на SSHv2 протокол, осигуряващ както клиентска, така и сървърна функционалност |
пиукане | Инсталатор на пакет за python |
Индексът на пакетите Python (PyPI) | Съхранение на софтуер за Python |
Ключови думи на Python
>>> импортиране на ключова дума >>> отпечатате (keyword.kwlist) |
Python 2.7.15+ [‘и’, ‘като’, ‘твърдя’, ‘прекъсвам’, ‘клас’, ‘продължавам’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘с изключение на’, ‘exec’, ‘ накрая ‘,’ за ‘,’ от ‘,’ global ‘,’ if ‘,’ import “,” in “,” is “,” lambda “,” not “,” или “,” pass “,” print ” , ‘повишаване’, ‘връщане’, ‘опитване’, ‘докато’, ‘с’, ‘доходност]] |
Python 3.8.0 [‘Грешно’, ‘Няма’, ‘Вярно’, ‘и’, ‘като’, ‘твърди’, ‘async’, ‘изчакайте’, ‘прекъснете’, ‘клас’, ‘продължете’, ‘def’, ‘ del ‘,’ elif ‘,’ else ‘,’ освен ‘,’ накрая ‘,’ for ‘,’ from ‘,’ global ‘,’ if ‘,’ import “,” in “,” is “,” lambda ” , ‘нелокални’, ‘не’, ‘или’, ‘преминаване’, ‘повишаване’, ‘връщане’, ‘опитайте’, ‘докато’, ‘с’, ‘доходност’] |
Типове данни
Текст | str – x = "Здравей свят" |
Цифрова | int, float, сложен |
последователност | списък, кортеж, диапазон |
картография | Dict |
Комплект | комплект, замразен комплект |
Булева | булев |
двоен | байтове, байт-масив, преглед на паметта |
Математически оператори
** | експонат 4 ** 2 = 16 |
% | Модул / Остатък 43% 5 = 3 |
// | Целочислено разделение 11 // 5 = 2 |
/ | делене 11/5 = 2.2 |
* | умножение 3 * 3 = 9 |
– | изваждане 8 – 3 = 5 |
+ | допълнение 2 + 2 = 4 |
== | Равна на |
!= | Не е равно на |
< | По-малко от |
> | По-голям от |
<= | По-малко или равно на |
>= | По-голям или равен на |
Коментари
# | Може да се използва в началото на ред или от вътре в края до края |
Мрежов анализ с Python
Използвайте NMAP със скенер за порт | $ pip инсталирайте python-nmap |
Команди за изпълнение на NMAP сканиране | импортиране на nmap nmScan = nmap.PortScanner () nmScan.scan (’10 .1.0.0 ‘, ’25 -443’) |
NMAP команди, използвани с python | nmScan.scaninfo () # {‘tcp’: {‘services’: ’25 -80′, ‘method’: ‘connect’}} nmScan.all_hosts () nmScan [’10 .1.0.0 ‘]. хост () nmScan [’10 .1.0.0 ‘]. състояние () nmScan [’10 .1.0.0 ‘]. all_protocols () nmScan [’10 .1.0.0 ‘] [‘ tcp ‘]. клавиши () # Резултати – [80, 25, 22, 135] nmScan [’10 .1.0.0 ‘]. has_tcp (25) # Резултат True / False nmScan [’10 .1.0.0 ‘]. has_tcp (21) # Резултат е невярно / вярно |
Библиотеката на dnspython
Инсталация | $ pip инсталирайте dnspython |
Основна DNS заявка | импортиране на dns.resolver name = ‘google.com’ за qtype в ‘A’, ‘AAAA’, ‘MX’, ‘NS’, ‘TXT’, ‘SOA’: answer = dns.resolver.query (име, qtype, повишаване_on_no_answer = Грешно) ако answer.rrset не е None: отпечатате (answer.rrset) |
Вземете предпочитание за MX цел и име | импортиране на dns.resolver отговори = dns.resolver.query (‘dnspython.org’, ‘MX’) |
Socket модул (интерфейс на Berkley API)
Основни функции и методи | сокет () • ind () • слушам () • приемам () • свързвам () • свързвам_ex () • изпращам () • рев () • затварям () |
Видове гнезда
SOCK_STREAM | За TCP протоколи • Надеждно предаване • Пакетна последователност • Ориентирана към връзката • Двупосочна |
SOCK_DGRAM | За UDP протоколи • Ненадеждно предаване • Без последователност от пакети • Без връзка (UDP) • Не е двупосочен |
Създаване на гнезда
import socket # Импортира метода на socket socket.socket () # Функция, която създава сокет | |
чорап = гнездо socket (фамилия сокети, тип сокет, протокол = стойност) | |
Socket Family | AF_UNIX или AF_INET |
Тип гнездо | SOCK_STREAM или SOCK_DGRAM за TCP & UDP съответно • напр. TCP – UDP2 = сокет. сокет (socket.AF_INET, socket.SOCK_DGRAM) • напр. UDP – TCP2 = сокет. сокет (socket.AF_INET, socket.SOCK_STREAM) |
Метод на клиентски гнездо | свързване () |
Метод на гнездото на сървъра | bind () • слушам (backlog) • accept () |
TCP сокет методи | s.recv () # Получаване на TCP пакети s.send () # Изпрати TCP пакети |
Методи на UDP сокет | s.recvfrom () # Получава UDP пакети s.sendto () # Предава UDP пакети |
Повече методи за гнездо | |
близо() | Затворете връзката на гнездото |
gethostname () | Връща низ, който включва името на хоста на текущия компютър |
gethostbyname () | Връща низ, който включва името на хоста и IP адреса на текущия компютър |
слушам() | Настройте и стартирайте TCP слушател |
свързване () | Прикрепете (име на хост, номер на порт) към гнездото |
приеме () | TCP клиентска връзка изчакайте |
свързване () | Инициирайте TCP сървър връзка |
TCP Socket Методи | |
mysocket.accept () | Връща кортеж с отдалечения адрес, който е свързан |
mysocket.bind (адрес) | Прикрепете посочения локален адрес към гнездото |
mysocket.connect (адрес) | Данните, изпратени през сокета, се приписват на дадения отдалечен адрес |
mysocket.getpeername () | Връща отдалечения адрес, където е свързан гнездото |
mysocket.getsockname () | Връща адреса на локалната крайна точка на сокета
|
mysocket.sendto (данни, адрес) | Принудете пакет данни към конкретен отдалечен адрес |
Блокиране на гнездото | |
setblocking (1) | Блок за настройка |
setblocking (0) | Премахване / премахване на настройка на блок |
Вземете номер на порт, използвайки име на домейн | сокет за импортиране socket.getservbyname (‘име на домейн’) |
Проверете поддръжката за IPV6 | сокет за импортиране socket.has_ipv6 # Отговорът е ИСТИНСКИ или ЛЪЖЕН |
getaddrinfo () – Свързване на сървър към порт | от сокет импорт getaddrinfo getaddrinfo (None, ‘FTP’, 0, socket.SOCK_STREAM, 0, socket.AI_PASSIVE) [(2, 1, 6, ”, (‘0.0.0.0’, 21)), (10, 1, 6, ”, (‘::’, 21, 0, 0))] |
Примери за гнездо
Пример от страна на клиента от гнездото |
сокет за импортиране S = socket.socket (socket.AF_INET, socket.SOCK_STREAM) гостоприемник = socket.gethostname () порт = 1111 myserver.bind ((хост, порт)) # замени myserver и myclient с повтарящи се IP myserver.слушате (5) докато вярно: myclient,адр = myserver.accept () отпечатате ("Свързана е с {str (addr)}") myclient.изпратите (msg.encode ("ASCII")) myclient.близо() |
Пример за клиент от страна на клиента с коментари |
# импортиране библиотеката на сокета сокет за импортиране # създайте сокет обект # резервирайте порт на компютъра, който може да бъде всичко # свържете към пристанището # превключете сокета в режим на слушане # цикъл, докато потребителят го прекъсне или се появи грешка # Установете връзка с клиента. # изпрати благодарствено съобщение до клиента. # Затворете връзката |
Примери за скриптове
Създайте списък с устройства |
>>>устройства = [‘SW1’, ‘SW2’, ‘SW3’] |
Създайте списък с VLAN речници |
vlans = [{‘id’: ‘100’, ‘name’: ‘staff’}, {‘id’: ‘200’, ‘name’: ‘VOICE’}, {‘id’: ‘300’, ‘name’: ‘wireless’}] |
Напишете функции за събиране на команди и натискане към мрежата |
>>>дефинирай get_commands (vlan, име): команди = [] commandnds.append (‘vlan’ + vlan) commandnds.append (‘име’ + име) команди за връщане >>> def push_commands (устройство, команди): |
Създайте VLAN в множество превключватели, използвайки скрипт python |
>>>за vlan in vlans: id = vlan.get (‘id’) name = vlan.get (‘име’) отпечатате ( “\ Н”) печат („Конфигуриране на VLAN:„ + id) command = get_commands (id, име) за устройство в устройства: push_commands (устройство, команди) отпечатате ( “\ Н”) |
Цитиране: https://www.oreilly.com/library/view/network-programmability-and/9781491931240/ch04.html |
Деактивирайте интерфейса на рутера, използвайки команда python |
>>> от push импортиране push_commands устройство = ‘router2’ commandds = [‘интерфейс Eth0 / 1’, ‘изключване’] push_commands (устройство, команди) |
Разбиращи модули
argparse () | Модулът argparse улеснява писането на удобни за потребителя интерфейси на командния ред. Програмата дефинира какви аргументи изисква и argparse ще разбере как да анализира тези от sys.argv |
Създаване на анализатор | >>> parser = argparse.ArgumentParser (description = ‘Обработвайте някои цели числа.’) |
Добавяне на аргументи | >>> parser.add_argument (‘цели числа’, metavar = ‘N’, type = int, nargs = ‘+’, … help = ‘цяло число за акумулатора’) >>> parser.add_argument (‘- сума’, dest = ‘натрупване’, action = ‘store_const’, … const = сума, по подразбиране = max, … help = ‘сумирайте цели числа (по подразбиране: намерете макс.)’) |
Разбор на аргументи | >>> parser.parse_args ([‘- сума’, ‘7’, ‘-1′, ’42’]) Пространство от имена (натрупване =, цели числа = [7, -1, 42]) |
Unfortunately, I cannot provide a comment in the appropriate language as the language used in the topic is not specified. Please provide more information so I can assist you better.