{"id":7441,"date":"2016-08-21T13:24:07","date_gmt":"2016-08-21T10:24:07","guid":{"rendered":"https:\/\/codeby.net\/?p=7441"},"modified":"2018-12-03T02:26:18","modified_gmt":"2018-12-02T23:26:18","slug":"shablony-prilozhenij-zmap","status":"publish","type":"post","link":"https:\/\/codeby.net\/blogs\/shablony-prilozhenij-zmap\/","title":{"rendered":"\u0428\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 ZMap"},"content":{"rendered":"<blockquote><p>\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044e \u043f\u043e\u043b\u043d\u043e\u0433\u043e\u00a0<a href=\"https:\/\/codeby.net\/blogs\/zmap-setevoj-skaner-s-otkrytym-ishodnym-kodom\/zmap-setevoj-skaner-s-otkrytym-ishodnym-kodom\/#content\" target=\"_blank\">\u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f ZMap<\/a>\u00a0\u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435.<\/p><\/blockquote>\n<p>[su_accordion]<br \/>\n[su_spoiler title=&#187;\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438&#187;]<br \/>\n<a href=\"https:\/\/codeby.net\/blogs\/shablony-prilozhenij-zmap\/#1\" target=\"_blank\">\u0411\u0430\u043d\u043d\u0435\u0440 \u0437\u0430\u0445\u0432\u0430\u0442\u0430<\/a><br \/>\n<a href=\"https:\/\/codeby.net\/blogs\/shablony-prilozhenij-zmap\/#2\" target=\"_blank\">\u041c\u043e\u0434\u0443\u043b\u044c Forge Socket<\/a><br \/>\n<a href=\"https:\/\/codeby.net\/blogs\/shablony-prilozhenij-zmap\/#3\" target=\"_blank\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0437\u043e\u043d\u0434\u043e\u0432 \u0438 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439<\/a><\/p>\n<ul>\n<li><a href=\"https:\/\/codeby.net\/blogs\/shablony-prilozhenij-zmap\/#31\" target=\"_blank\">\u0412\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438<\/a><\/li>\n<li><a href=\"https:\/\/codeby.net\/blogs\/shablony-prilozhenij-zmap\/#32\" target=\"_blank\">\u0417\u043e\u043d\u0434\u044b<\/a><\/li>\n<\/ul>\n<p>[\/su_spoiler]<br \/>\n[\/su_accordion]<\/p>\n<h2 style=\"color: #ea5709;\">\u0428\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/h2>\n<p style=\"margin-left: 29pt; text-align: justify;\">ZMap \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0445\u043e\u0441\u0442\u043e\u0432, \u043e\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u043c\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0436\u0435\u043b\u0430\u044e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 TCP SYN \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 80, \u0445\u043e\u0442\u044f\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u0430 \u0442\u0435, \u043a\u0442\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u0440\u0442 443, \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043d\u044b \u0432 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f TLS Handshake.<\/p>\n<h3 style=\"color: #ea5709;\">\u0411\u0430\u043d\u043d\u0435\u0440 \u0437\u0430\u0445\u0432\u0430\u0442\u0430<\/h3>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u041c\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0437\u0435\u0446 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0431\u0430\u043d\u043d\u0435\u0440 \u0437\u0430\u0445\u0432\u0430\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0442 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f TCP-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u0411\u0430\u043d\u043d\u0435\u0440 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c, \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043f\u0435\u0440\u0432\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u042d\u0442\u043e\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0431\u0430\u043d\u043d\u0435\u0440\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, HTTP \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0438 \u043b\u043e\u0433\u0438\u043d\u0430 \u0438 \u043f\u0430\u0440\u043e\u043b\u044f \u0438\u043b\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 SSH \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 1000 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043d\u0430 80 \u043f\u043e\u0440\u0442\u0443 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043a\u0430\u0436\u0434\u043e\u043c\u0443, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044f \u0438\u0445 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 http-banners.out<\/p>\n<pre class=\"lang:default decode:true\">$ zmap -p 80 -N 1000 -B 10M -o - | .\/banner-grab-tcp -p 80 -c 500 -d .\/http-req &gt; out<\/pre>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0435\u0442\u0430\u043b\u0435\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 <code style=\"color: red;\">banner-grab<\/code>, \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043d\u0430 <code style=\"color: red;\">examples\/banner-grab<\/code>.<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\"><strong>\u0412\u0430\u0436\u043d\u043e!<br \/>\n<\/strong><\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">ZMap \u0438 \u0431\u0430\u043d\u043d\u0435\u0440 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043c\u043e\u0433\u0443\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430, \u0435\u0441\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e (\u043a\u0430\u043a \u0432 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u043c \u0432\u044b\u0448\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0435). \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e ZMap \u043d\u0435 \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0431\u0430\u043d\u043d\u0435\u0440\u0430 \u0437\u0430\u0445\u0432\u0430\u0442\u0430, \u0438\u043d\u0430\u0447\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0441\u0442\u0430\u0432\u0430\u0442\u044c \u043e\u0442 \u0447\u0442\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432, \u043f\u0440\u0438\u0437\u044b\u0432\u0430\u044f ZMap \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445. \u041c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043d\u0438\u0437\u043a\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 ZMap \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c tcp \u0431\u0430\u043d\u043d\u0435\u0440\u0430 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u0434\u043e 3000. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435 1000 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f <code style=\"color: red;\">ulimit \u2013SHn <\/code>\u0438 <code style=\"color: red;\">ulimit -HHn 100000<\/code>.<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u042d\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438; \u043c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u043e\u0431\u0440\u0430\u0437\u0446\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<h3 style=\"color: #ea5709;\">\u041c\u043e\u0434\u0443\u043b\u044c Forge Socket<\/h3>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0444\u043e\u0440\u043c\u0443 \u0431\u0430\u043d\u043d\u0435\u0440\u0430 \u0437\u0430\u0445\u0432\u0430\u0442\u0430, Forge Socket, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 SYN-ACK \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043b\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0431\u0430\u043d\u043d\u0435\u0440\u043e\u043c. \u0412 banner-grab-tcp ZMap \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 SYN \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SYN+ACK.<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u042f\u0434\u0440\u043e ZMap \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0438\u0445 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 RST, \u0442\u0430\u043a \u043a\u0430\u043a \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0441 \u044d\u0442\u0438\u043c \u043f\u0430\u043a\u0435\u0442\u043e\u043c \u043d\u0435\u0442. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0431\u0430\u043d\u043d\u0435\u0440\u0430 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u0442\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u043e\u0435 TCP \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0436\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043d\u0435\u0433\u043e.<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u0412 forge-socket \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u043e\u0434\u0443\u043b\u044c \u044f\u0434\u0440\u0430 \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u0438\u043c\u0435\u043d\u0435\u043c, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0447\u0435\u043c\u0443 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u0432\u044f\u0437\u044c \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 TCP. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u0442\u044c RST \u043f\u0430\u043a\u0435\u0442 \u044f\u0434\u0440\u0430, \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043e\u043a\u0435\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b SYN + ACK \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Forge Socket, \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043c\u043e\u0434\u0443\u043b\u044c \u044f\u0434\u0440\u0430 \u0438\u0437 <a href=\"https:\/\/github.com\/ewust\/forge_socket\/\" target=\"_blank\">github<\/a>. \u0412\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0441\u043f\u043b\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code style=\"color: red;\">git clonegit@github.com:ewust\/forge_socket.git <\/code>\u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 ZMap, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0441\u043e\u043a\u0435\u0442\u0430 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c forge-socket. \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043c\u043e\u0434\u0443\u043b\u044f \u044f\u0434\u0440\u0430 <code style=\"color: red;\">insmod forge_socket.ko.<br \/>\n<\/code><\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u0442\u0430\u043a\u0436\u0435, \u0447\u0442\u043e \u044f\u0434\u0440\u043e \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c RST \u043f\u0430\u043a\u0435\u0442\u044b. \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 RST \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code style=\"color: red;\">iptables -A OUTPUT -p tcp -m tcp --tcp-flgas RST,RST RST,RST -j DROP<\/code>, \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e <code style=\"color: red;\">--dport X, <\/code>\u0447\u0442\u043e\u0431\u044b \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u043f\u043e\u0440\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <code style=\"color: red;\">ptables -D OUTPUT -p tcp -m tcp --tcp-flags RST,RST RST,RST -j DROP.<\/code><\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b forge-socket ZMap. \u0427\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c, \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <span class=\"lang:default decode:true crayon-inline\">extended_file<\/span><strong>\u00a0<\/strong><a href=\"#31\">\u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f<\/a> ZMap:<\/p>\n<pre class=\"lang:default decode:true\">$ zmap -p 80 -N 1000 -B 10M -O extended_file -o - | \\\r\n    .\/forge-socket -c 500 -d .\/http-req &gt; .\/http-banners.out<\/pre>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u0411\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0432 <code style=\"color: red;\">examples\/forge-socket<\/code>.<\/p>\n<h2 id=\"3\" style=\"color: #ea5709;\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0437\u043e\u043d\u0434\u043e\u0432 \u0438 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439<\/h2>\n<p style=\"margin-left: 29pt; text-align: justify;\">ZMap \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438 \u0434\u0430\u0432\u0430\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u0438\u0434\u044b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432\u044b\u0432\u043e\u0434\u0430. \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u043e\u043d\u0434\u044b \u0438 \u043c\u043e\u0434\u0443\u043b\u0438 \u0432\u044b\u0432\u043e\u0434\u0430 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\"><span class=\"lang:default decode:true crayon-inline \">&#8212;list-probe-modules<\/span>\u00a0 \u2013 \u0441\u043f\u0438\u0441\u043e\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u043e\u043d\u0434\u043e\u0432;<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\"><span class=\"lang:default decode:true crayon-inline \">&#8212;list-output-modules<\/span>\u00a0 \u2013 \u0441\u043f\u0438\u0441\u043e\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439.<\/p>\n<h3 id=\"31\" style=\"color: #ea5709;\">\u0412\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438<\/h3>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u0412\u044b\u0445\u043e\u0434 ZMap \u0438 \u043f\u043e\u0441\u0442-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0430 \u0437\u0430 \u0441\u0447\u0435\u0442 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439. \u0412\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u043e\u0442\u0432\u0435\u0442 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430. \u0412 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432\u044b\u0445\u043e\u0434, \u044d\u0442\u0438 \u043c\u043e\u0434\u0443\u043b\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0441\u0442-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432 \u0438\u043b\u0438 \u0432\u044b\u0432\u043e\u0434 \u0447\u0438\u0441\u0435\u043b \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u0445 AS \u0432\u043c\u0435\u0441\u0442\u043e IP-\u0430\u0434\u0440\u0435\u0441\u0430).<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u0412\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0443\u0442\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b <span class=\"lang:default decode:true crayon-inline\">output_module<\/span>\u00a0\u0438 \u0435\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 <a href=\"https:\/\/github.com\/zmap\/zmap\/blob\/v1.0.0\/src\/output_modules\/output_modules.c\" target=\"_blank\"><em>output_modules.c<\/em><\/a>:<\/p>\n<pre class=\"lang:default decode:true\">typedef struct output_module {\r\n\tconst            char *name;      \/\/ how is output module referenced in the CLI\r\n\tunsigned         update_interval; \/\/ how often is update called in seconds\r\n\toutput_init_cb   init;            \/\/ called at scanner initialization\r\n\toutput_update_cb start;           \/\/ called at the beginning of scanner\r\n\toutput_update_cb update;          \/\/ called every update_interval seconds\r\n\toutput_update_cb close;           \/\/ called at scanner termination\r\n\toutput_packet_cb process_ip;      \/\/ called when a response is received\r\n\tconst            char *helptext;  \/\/ Printed when --list-output-modules is called\r\n} output_module_t;<\/pre>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u0412\u044b\u0445\u043e\u0434\u043d\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u043c\u0435\u0442\u044c \u0438\u043c\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 <code style=\"color: red;\">success_ip<\/code> \u0430 \u0442\u0430\u043a\u0436\u0435 <code style=\"color: red;\">other_ip<\/code> \u043e\u0442\u0432\u0435\u0442.<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0437\u043e\u043d\u0434\u0430. \u041e\u0442\u0432\u0435\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u043c \u0438\u043b\u0438 \u043d\u0435\u0442 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c TCP RST). \u042d\u0442\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 <code style=\"color: red;\">output_packet_cb<\/code>.<\/p>\n<pre class=\"lang:default decode:true\">int (*output_packet_cb) (\r\n\tipaddr_n_t saddr,               \/\/ IP address of scanned host in network-order\r\n\tipaddr_n_t daddr,               \/\/ destination IP address in network-order\r\n\tconst      char* response_type, \/\/ send-module classification of packet\r\n\tint        is_repeat,           \/\/ {0: first response from host, 1: subsequent responses}\r\n\tint        in_cooldown,         \/\/ {0: not in cooldown state, 1: scanner in cooldown state}\r\n\tconst      u_char* packet,      \/\/ pointer to struct iphdr of IP packet\r\n\tsize_t     packet_len           \/\/ length of packet in bytes\r\n);<\/pre>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u0412\u044b\u0445\u043e\u0434\u043d\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043a\u0430\u043d\u0435\u0440\u0430 (\u0442\u0430\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u0430\u043a \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430), \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u0430\u043f\u0438\u0441\u044c \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432), \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432. \u041e\u0431\u0440\u0430\u0442\u043d\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043b\u043d\u044b\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0438\u043c\u0435\u044e\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0438\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0432 <a href=\"https:\/\/github.com\/zmap\/zmap\/blob\/master\/src\/output_modules\/output_modules.h\" target=\"_blank\">output_modules.h<\/a>.<\/p>\n<pre class=\"lang:default decode:true\">int (*output_update_cb)(struct state_conf*, struct state_send*, struct state_recv*);<\/pre>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u041f\u0440\u0438\u043c\u0435\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435\u00a0<a href=\"https:\/\/github.com\/zmap\/zmap\/blob\/master\/src\/output_modules\/module_csv.c\" target=\"_blank\">src\/output_modules\/module_csv.c<\/a><\/p>\n<h3 id=\"32\" style=\"color: #ea5709;\">\u0417\u043e\u043d\u0434\u044b<\/h3>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u041f\u0430\u043a\u0435\u0442\u044b \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0437\u043e\u043d\u0434\u043e\u0432, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432. ZMap \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u0434\u0432\u0443\u043c\u044f \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: tcp_synscan \u0438 icmp_echoscan. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e ZMap \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 tcp_synscan, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442 TCP SYN \u043f\u0430\u043a\u0435\u0442\u044b \u0438 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u044b \u043e\u0442 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 \u043a\u0430\u043a \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 (SYN+ACK) \u0438\u043b\u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0435 (RST).<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">ZMap \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0434\u043b\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 ZMap, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 API.<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u041a\u0430\u0436\u0434\u044b\u0439 \u0442\u0438\u043f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0443\u0442\u0435\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 <code style=\"color: red;\">send_module_t<\/code>:<\/p>\n<pre class=\"lang:default decode:true\">typedef struct probe_module {\r\n\tconst char               *name;             \/\/ how scan is invoked on command-line\r\n\tsize_t                   packet_length;     \/\/ how long is probe packet (must be static size)\r\n\tconst char               *pcap_filter;      \/\/ PCAP filter for collecting responses\r\n\tsize_t                   pcap_snaplen;      \/\/ maximum number of bytes for libpcap to capture\r\n\tuint8_t                  port_args;         \/\/ set to 1 if ZMap requires a --target-port be\r\n\t                                            \/\/ specified by the user\r\n\tprobe_global_init_cb     global_initialize; \/\/ called once at scanner initialization\r\n\tprobe_thread_init_cb     thread_initialize; \/\/ called once for each thread packet buffer\r\n\tprobe_make_packet_cb     make_packet;       \/\/ called once per host to update packet\r\n\tprobe_validate_packet_cb validate_packet;   \/\/ called once per received packet,\r\n\t                                            \/\/ return 0 if packet is invalid,\r\n\t                                            \/\/ non-zero otherwise.\r\n\tprobe_print_packet_cb    print_packet;      \/\/ called per packet if in dry-run mode\r\n\tprobe_classify_packet_cb process_packet;    \/\/ called by receiver to classify response\r\n\tprobe_close_cb           close;             \/\/ called at scanner termination\r\n\tfielddef_t               *fields            \/\/ Definitions of the fields specific to this module\r\n\tint                      numfields          \/\/ Number of fields\r\n} probe_module_t;<\/pre>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u041f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043a\u0430\u043d\u0435\u0440\u0430 <code style=\"color: red;\">global_initialize\u00a0<\/code>\u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043b\u044e\u0431\u043e\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, global_initialize \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0431\u0443\u0444\u0435\u0440\u0443 \u043f\u0430\u043a\u0435\u0442\u0430. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e thread_initialize \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0431\u0443\u0444\u0435\u0440\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0437\u043e\u043d\u0434\u043e\u0432.<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u042d\u0442\u043e\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u0445\u043e\u0441\u0442\u0430 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0445\u043e\u0441\u0442 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430) \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a Ethernet \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u043c\u0438 \u0438, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u0437\u0430\u0440\u0430\u043d\u0435\u0435, \u0447\u0442\u043e\u0431\u044b \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0440\u0430\u0441\u0445\u043e\u0434 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">Make_packet \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043a\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0445\u043e\u0441\u0442\u0430. \u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e, \u043a\u043e\u0433\u0434\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c, \u0437\u043e\u043d\u0434 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0435\u0441\u0442\u044c \u043b\u0438 \u043e\u043d.<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f TCP SYN \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f tcp_synscan \u0437\u043e\u043d\u0434 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 TCP-\u043f\u043e\u0440\u0442 \u0438 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438. \u041f\u0430\u043a\u0435\u0442\u044b (SYN + ACKs) \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u0432 \u043f\u0443\u043d\u043a\u0442\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f) \u0438 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f.<\/p>\n<pre class=\"lang:default decode:true\">int make_packet(\r\n\tvoid *packetbuf,                          \/\/ packet buffer\r\n\tipaddr_n_t src_ip,                        \/\/ source IP in network-order\r\n\tipaddr_n_t&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dst_ip, \/\/ destination IP in network-order\r\n\tuint32_t *validation,                     \/\/ validation string to place in probe\r\n\tint probe_num                             \/\/ if sending multiple probes per host,\r\n\t                                          \/\/ this will be which probe number for this\r\n\t                                          \/\/ host we are currently sending\r\n);<\/pre>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u041c\u043e\u0434\u0443\u043b\u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u0442\u0430\u043a\u0436\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c <code style=\"color: red;\">pcap_filter, validate_packet<\/code>, \u0438 <code style=\"color: red;\">process_packet. <\/code>\u0422\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u043a\u0435\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 PCAP \u0444\u0438\u043b\u044c\u0442\u0440\u0443, \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0441\u043a\u0430\u043d\u0435\u0440\u043e\u043c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 TCP SYN \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c TCP SYN \/ ACK \u0438\u043b\u0438 TCP RST-\u043f\u0430\u043a\u0435\u0442\u044b \u0438 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 <code style=\"color: red;\">tcp &amp;&amp; tcp[13] &amp; 4 != 0 || tcp[13] == 18<\/code>.<\/p>\n<p style=\"margin-left: 29pt; text-align: justify;\">\u0424\u0443\u043d\u043a\u0446\u0438\u044f <code style=\"color: red;\">validate_packet<\/code> \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u044d\u0442\u043e\u043c\u0443 PCAP \u0444\u0438\u043b\u044c\u0442\u0440\u0443. \u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f <code style=\"color: red;\">process_packet<\/code> \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0444\u0438\u043b\u0434\u0441\u0435\u0442 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u043b\u0435\u0439, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f TCP SynScan \u0437\u043e\u043d\u0434\u0430:<\/p>\n<pre class=\"lang:default decode:true\">void synscan_process_packet(const u_char *packet, uint32_t len, fieldset_t *fs)\r\n{\r\n\tstruct iphdr *ip_hdr = (struct iphdr *)&amp;packet[sizeof(struct ethhdr)];\r\n\tstruct tcphdr *tcp = (struct tcphdr*)((char *)ip_hdr\r\n\t+ (sizeof(struct iphdr)));\r\n\tfs_add_uint64(fs, \"sport\", (uint64_t) ntohs(tcp-&gt;source));\r\n\tfs_add_uint64(fs, \"dport\", (uint64_t) ntohs(tcp-&gt;dest));\r\n\tfs_add_uint64(fs, \"seqnum\", (uint64_t) ntohl(tcp-&gt;seq));\r\n\tfs_add_uint64(fs, \"acknum\", (uint64_t) ntohl(tcp-&gt;ack_seq));\r\n\tfs_add_uint64(fs, \"window\", (uint64_t) ntohs(tcp-&gt;window));\r\n\tif (tcp-&gt;rst) { \/\/ RST packet\r\n\tfs_add_string(fs, \"classification\", (char*) \"rst\", 0);\r\n\tfs_add_uint64(fs, \"success\", 0);\r\n\t} else { \/\/ SYNACK packet\r\n\tfs_add_string(fs, \"classification\", (char*) \"synack\", 0);\r\n\tfs_add_uint64(fs, \"success\", 1);\r\n        }\r\n}<\/pre>\n<blockquote><p>\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044e \u043f\u043e\u043b\u043d\u043e\u0433\u043e\u00a0<a href=\"https:\/\/codeby.net\/blogs\/zmap-setevoj-skaner-s-otkrytym-ishodnym-kodom\/zmap-setevoj-skaner-s-otkrytym-ishodnym-kodom\/#content\" target=\"_blank\">\u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f ZMap<\/a>\u00a0\u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435.<\/p><\/blockquote>\n<p style=\"text-align: right;\">\u041f\u0435\u0440\u0435\u0432\u043e\u0434: <a href=\"https:\/\/codeby.net\/members\/viktorija-verstler.66673\/\" target=\"_blank\">\u0412\u0438\u043a\u0442\u043e\u0440\u0438\u044f \u0412\u0435\u0440\u0441\u0442\u043b\u0435\u0440<\/a><\/p>\n<p style=\"text-align: right;\">\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: <a href=\"https:\/\/zmap.io\/\">https:\/\/zmap.io\/documentation.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044e \u043f\u043e\u043b\u043d\u043e\u0433\u043e\u00a0\u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f ZMap\u00a0\u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435. [su_accordion] [su_spoiler title=&#187;\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438&#187;] \u0411\u0430\u043d\u043d\u0435\u0440 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u041c\u043e\u0434\u0443\u043b\u044c Forge Socket \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0437\u043e\u043d\u0434\u043e\u0432 \u0438 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0412\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0417\u043e\u043d\u0434\u044b [\/su_spoiler] [\/su_accordion] \u0428\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 ZMap \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0445\u043e\u0441\u0442\u043e\u0432, \u043e\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u043c\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0436\u0435\u043b\u0430\u044e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043d\u0430 &#8230; <a title=\"\u0428\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 ZMap\" class=\"read-more\" href=\"https:\/\/codeby.net\/blogs\/shablony-prilozhenij-zmap\/\" aria-label=\"\u041f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e \u0428\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 ZMap\">\u0427\u0438\u0442\u0430\u0442\u044c \u0434\u0430\u043b\u0435\u0435<\/a><\/p>\n","protected":false},"author":66673,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[645],"tags":[193,274,464,480,574,595],"class_list":["post-7441","post","type-post","status-publish","format-standard","hentry","category-sbor-informatsii","tag-kali-linux","tag-nmap","tag-zmap","tag-vzlom","tag-skanery-ujazvimostej","tag-testirovanie-na-proniknovenie"],"_links":{"self":[{"href":"https:\/\/codeby.net\/blogs\/wp-json\/wp\/v2\/posts\/7441","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codeby.net\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codeby.net\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codeby.net\/blogs\/wp-json\/wp\/v2\/users\/66673"}],"replies":[{"embeddable":true,"href":"https:\/\/codeby.net\/blogs\/wp-json\/wp\/v2\/comments?post=7441"}],"version-history":[{"count":0,"href":"https:\/\/codeby.net\/blogs\/wp-json\/wp\/v2\/posts\/7441\/revisions"}],"wp:attachment":[{"href":"https:\/\/codeby.net\/blogs\/wp-json\/wp\/v2\/media?parent=7441"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codeby.net\/blogs\/wp-json\/wp\/v2\/categories?post=7441"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codeby.net\/blogs\/wp-json\/wp\/v2\/tags?post=7441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}