Criando um scanner de rede em python

1. Criando um scanner de rede em python

Túlio Marcos
sirtulio27

(usa Ubuntu)

Enviado em 03/12/2016 - 17:23h

Galera, sou novo na linguagem, e preciso de ajuda. Meu professor passou um trabalho para a turma, onde precisamos fazer um programa, em python, que faça alguma coisa relacionada a redes, ex: ping/traceroute/email/ftp.
Enfim, criei um programa para fazer um ping, um traceroute, mostrar o sistema operacional do ip, e mostrar o ip local (da propria maquina), porém a maioria das opções não ta funcionando, por isso quero ajuda de vcs.
Vou deixar o código aqui, o link do github é esse: https://github.com/tuliodutra27/Programa-em-Python/
PS: to fazendo o programa no ubuntu, não sei se funciona no windows, e to usando a biblioteca scapy como fonte principal.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Programa scanner
# Programado por: Túlio Marcos (github.com/tuliodutra27)
# Versão python utilizada: 2.7.12

from scapy.all import *
import sys
from os import system

def help():
print """
=================================================================================================================================
= Scanner de rede em Python =
= by Túlio =
=================================================================================================================================
= Opções: =
= [-t] Utilizar o pacote traceroute =
= EXEMPLO: python "arquivo.py" -t <ip> =
= [-i] Mostrar o IP da maquina atual =
= EXEMPLO: python "arquivo.py" -i =
= [-p] Testar o ping para um endereço IP =
= EXEMPLO: python "arquivo.py" -p <ip> =
= [-s] Mostrar o Sistema Operacional do IP =
= EXEMPLO: python "arquivo.py" -s <ip> =
=================================================================================================================================
"""
if len(sys.argv) < 2:
system('clear') #caso o programa seja executado sem que nenhum argumento seja passado ele exibe o comando "help" juntamente com as mensagens abaixo
print "ERRO !"
print "Nenhum argumento foi passado. "
help()
sys.exit()
elif sys.argv[1] == "-t":
alvo = sys.argv[2]
ip = IP()
ip.dst = alvo
resp = sr1(ip/traceroute)
res = sr1(ARP(pdst=sys.argv[2]))
elif sys.argv[1] == "-i":
ip = IP()
print ip
sys.exit()
elif sys.argv[1] == "-s":
alvo = sys.argv[2]
ip = IP()
ping = ICMP()
ip.dst = alvo
resp = sr1(ip/ping)
res = sr1(ARP(pdst=sys.argv[2]))
if resp.ttl < 65:
print """
=========================================================================================================================
= Sistema Operacional: Linux =
=========================================================================================================================
"""
elif resp.ttl == 128:
print """
=========================================================================================================================
= Sistema Operacional Windows =
=========================================================================================================================
"""
elif sys.argv[1] == "-p":
alvo = sys.argv[2]
ip = IP()
ping = ICMP()
ip.dst = alvo
resp = sr1(ip/ping)
res = sr1(ARP(pdst=sys.argv[2]))
print resp.time
else:
print "Opção inválida!"



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts