Construindo um portscanner TCP com Python
Implementação de um portscanner básico em Python a fim de compreender um pouco o funcionamento de ferramentas como NMAP e sockets TCP.
[ Hits: 13.511 ]
Por: Perfil removido em 05/11/2018
import sys
import socket
def main():
args = sys.argv
if len(args) < 2:
print("[!]Falta argumentos para o programa! Saindo...")
sys.exit(1)
ip = args[1]
portas = args[2] if len(args) >= 3 else "1:65536"
portas = (x for x in range(int(portas.split(":")[0]), int(portas.split(":")[1])+1))
scan(ip, portas)
def banner(sckt, ip, porta):
try:
sckt.settimeout(1)
sckt.connect((ip, porta))
banner = sckt.recv(1024).decode().strip()
assert banner
return banner
except:
return "Unknown"
def child(ip, port):
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
s.settimeout(0.3)
if s.connect_ex((ip, port)) == 0:
print("{}/tcp open".format(port), end="|")
print(banner(s, ip, port))
except:
pass
def scan(ip, portas):
for c in portas:
child(ip, c)
if __name__ == '__main__':
main()
def scan(ip, portas): for c in portas: t = Thread(target=child, args=(ip, c)) t.start()
Instalando fontes true type no Linux via Kcontrol
Qmail + Patches + Performance Tuning, the Debian AMD64 way
Configurando corretamente para o Horário de Verão
Aceleração 3D Nvidia no Debian Etch
Gerência e criação de módulos do kernel
Qu1cksc0pe - All-in-One Static Malware Analysis Tool
Robótica com Android e Arduino
RapidScan - Multi-Tool WEB Vulnerability Scanner
OAK: Câmera Open Source de Visão Computacional com AI
Introdução a Threads e como implementá-las em Python
Boas Práticas e Padrões Idiomáticos em Go e C
Vale a pena ter mais de uma interface grafica no seu Linux?
Estrutura e Funcionamento de um Ebuild no Gentoo Linux
Copiar Para e Mover Para no menu de contexto do Nautilus e Dolphin
Dotando o Thunar das opcoes Copiar para e Mover para no menu de contexto
Usando o ble.sh (Bash Line Editor) no lugar do bash completion
Montagem pré automática de HD externo usb em NTFS não funciona no Debian Trixie - Solução
Instalação Dual Boot Linux+Windows 11 (4)
No Ubuntu 26.04, sudo passou a mostrar os asteriscos ao digitar por pa... (5)
Como instalar Warsaw no Gentoo? (0)
Como insiro e excluo um elemento XML e JSON ao código Javascript (1)









