{"id":104,"date":"2023-06-15T18:55:30","date_gmt":"2023-06-15T21:55:30","guid":{"rendered":"https:\/\/difusao.tech\/blog\/?p=104"},"modified":"2024-08-27T14:14:07","modified_gmt":"2024-08-27T17:14:07","slug":"desenvolvendo-um-banner-grabber-simples-com-python","status":"publish","type":"post","link":"https:\/\/difusao.tech\/blog\/desenvolvendo-um-banner-grabber-simples-com-python\/","title":{"rendered":"Desenvolvendo um Banner Grabber simples com Python"},"content":{"rendered":"\n<p>Caso voc\u00ea n\u00e3o tenha o python instalado acesse e baixe o instalador em: <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\"><a href=\"https:\/\/www.python.org\">python.org<\/a><\/mark><\/p>\n\n\n\n<p>E caso voc\u00ea n\u00e3o saiba o que \u00e9 banner grabber e caiu aqui de paraquedas, leia o artigo anterior:<a href=\"https:\/\/difusao.tech\/blog\/index.php\/2023\/05\/30\/banner-grabbing\/\"> <\/a><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\"><a href=\"https:\/\/difusao.tech\/blog\/banner-grabbing\/\">O que \u00e9 banner grabber?<\/a><\/mark><\/p>\n\n\n\n<p>Agora crie um arquivo chamado <mark style=\"background-color:#abb8c3\" class=\"has-inline-color has-black-color\">bannerGrabber.py<\/mark> ou com o nome de sua escolha, mas n\u00e3o se esque\u00e7a que a extens\u00e3o do arquivo deve ser <mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">.py<\/mark><\/p>\n\n\n\n<p>Agora coloque o seguinte c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/usr\/bin\/python3\n\nimport socket\n\n\ns = socket.socket()\n\nip = input(\"Por favor informe o IP: \")\nport = input(\"Por favor informe a porta: \")\n\ns.connect((ip, int(port)))\n\nprint(s.recv(1024))<\/code><\/pre>\n\n\n\n<p>Agora vamos falar o que est\u00e1 acontecendo:<\/p>\n\n\n\n<p>#A linha abaixo est\u00e1 importando o modulo do python que fornece acesso a interface de rede de baixo n\u00edvel.<br>import socket<\/p>\n\n\n\n<p>#Criamos uma vari\u00e1vel chamada <mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">s<\/mark> que vai receber a fun\u00e7\u00e3o que faz a conex\u00e3o com a rede.<br>s = socket.socket()<\/p>\n\n\n\n<p>#As duas vari\u00e1veis abaixo, <mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">IP <\/mark>e <mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">PORT <\/mark>vai receber a fun\u00e7\u00e3o input que solicita que o usu\u00e1rio digite alguma coisa no prompt, em nosso caso o ip e porta do alvo.<br>ip = input(&#8220;Por favor informe o IP: &#8220;)<\/p>\n\n\n\n<p>port = input(&#8220;Por favor informe a porta: &#8220;)<\/p>\n\n\n\n<p>#Agora nossa vari\u00e1vel s vai chamar a fun\u00e7\u00e3o para conectar ao ip e porta informados pelo usu\u00e1rio.<br>s.connect((ip, int(port)))<\/p>\n\n\n\n<p>#O print vai mostar para gente o resultado desta solicita\u00e7\u00e3o, limitando a apenas 1024 bytes.<br>print(s.recv(1024))<\/p>\n\n\n\n<p>Segue imagem do resultado desta ferramenta, onde conseguimos visualizar algumas informa\u00e7\u00f5es deste servi\u00e7o espec\u00edfico:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"344\" height=\"76\" src=\"https:\/\/difusao.tech\/blog\/wp-content\/uploads\/2023\/06\/image.png\" alt=\"\" class=\"wp-image-107\" style=\"width:423px;height:93px\" srcset=\"https:\/\/difusao.tech\/blog\/wp-content\/uploads\/2023\/06\/image.png 344w, https:\/\/difusao.tech\/blog\/wp-content\/uploads\/2023\/06\/image-300x66.png 300w\" sizes=\"auto, (max-width: 344px) 100vw, 344px\" \/><\/figure>\n\n\n\n<p>Essa ferramenta est\u00e1 simples, por\u00e9m \u00e9 o in\u00edcio para algo mais elaborado.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Caso voc\u00ea n\u00e3o tenha o python instalado acesse e baixe o instalador em: python.org E caso voc\u00ea n\u00e3o<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[157,1,55],"tags":[154,107,158,106,159,160],"class_list":["post-104","post","type-post","status-publish","format-standard","hentry","category-python","category-redes","category-seguranca-da-informacao","tag-banner-grabbing","tag-hack","tag-python","tag-seguranca-da-informacao","tag-ssh","tag-ssl"],"_links":{"self":[{"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/posts\/104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/comments?post=104"}],"version-history":[{"count":5,"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/posts\/104\/revisions"}],"predecessor-version":[{"id":499,"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/posts\/104\/revisions\/499"}],"wp:attachment":[{"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/media?parent=104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/categories?post=104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/tags?post=104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}