elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] WhoPingMe by LordRNA.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Python] WhoPingMe by LordRNA.  (Leído 7,843 veces)
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
[Python] WhoPingMe by LordRNA.
« en: 19 Septiembre 2010, 06:46 am »

Disculpen los comentarios en ingles... escribi el script para publicarlo en otro lugar pero soy fiel a mi origen, :xD eso fue una excusa... Los puse en ingles y me da peresa traducir. :silbar: :silbar:

Cualquier pregunta o duda, no duden en postearla.

PsData: Fue probado en Linux, se necesitan privilegios para ejecutar.

Código
  1. #! /usr/bin/env python
  2. ########################################################################
  3. #Script     : WhoPingMe.py                                             #
  4. #Description: Detect if you receive a Ping and make a list with Date.  #
  5. #By         : LordRNA                                                  #
  6. #Date`      : Sept 19th-2010                                           #
  7. #Comments   : Tested on Python 2.6.5                                   #
  8. ########################################################################
  9.  
  10. import socket, datetime
  11.  
  12. def whopingme(date):
  13.    source = '' #To put the IP Source.
  14.    header = ["%i"%ord(x) for x in data]
  15. #I made a list of int values for each byte in data variable.
  16.    if int(header[20])==8:#If Type(ICMP) is 8, i received a Echo Request.
  17.        for x in range(4):#To make a string with the IP Source.
  18.            source += str(header[12+x])
  19.            if x<3:source +='.'
  20.        date = str(datetime.datetime.today())
  21.        print date[:len(date)-7]+" ---> "+ str(source)
  22. #I deleted the Miliseconds with [:len(date)-7]
  23.  
  24. sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_ICMP)
  25. #ICMP Protocol on RAW Socket
  26.  
  27. while 1:
  28.    data = sock.recv(21)#I Just want these bytes, IPHeader Lenght + Type(ICMPHeader)
  29.    whopingme(data)#Sending data to whopingme() function.

Muestra de la Salida del programa:
Código:
rna@rna-laptop:~$ sudo python ./whopingme.py
2010-09-19 00:47:57 ---> 192.168.10.230
2010-09-19 00:47:58 ---> 192.168.10.230
2010-09-19 00:47:59 ---> 192.168.10.230

Edito: Segun me ha dicho Karcrack, LittleHorse y ctlon deberia funcionar en windows con privilegios de administrador.


« Última modificación: 20 Septiembre 2010, 17:55 pm por Lord R.N.A. » En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: [Python] WhoPingMe by LordRNA.
« Respuesta #1 en: 19 Septiembre 2010, 16:10 pm »

Muy bien jeje gran code, solo que una pregunta, que pasa si el ping no se hace con icmp?

Saludos


En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [Python] WhoPingMe by LordRNA.
« Respuesta #2 en: 19 Septiembre 2010, 16:36 pm »

entonces ya no es un ping. :xD... ese es el protocolo especifico para hacer pings
En línea

aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: [Python] WhoPingMe by LordRNA.
« Respuesta #3 en: 19 Septiembre 2010, 20:13 pm »

Una pregunta, que no controlo mucho de esto...

Si se cambia el valor de la longitud del paquete y el tipo, se puede detectar la llegada de otro tipo de paquetes, ¿no?

Un saludo ;)
« Última modificación: 19 Septiembre 2010, 20:45 pm por aaronduran2 » En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [Python] WhoPingMe by LordRNA.
« Respuesta #4 en: 19 Septiembre 2010, 21:28 pm »

Si se puede.
En línea

braulio--
Wiki

Desconectado Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Re: [Python] WhoPingMe by LordRNA.
« Respuesta #5 en: 19 Septiembre 2010, 22:00 pm »

Muy bueno.

Este puede ser el principio de un gran IDS xD
En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [Python] WhoPingMe by LordRNA.
« Respuesta #6 en: 19 Septiembre 2010, 22:31 pm »

No tome un punto de vista asi... pero se necesitaria bastante... cuando digo bastante es sumamente bastante informacion.
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [Python] WhoPingMe by LordRNA.
« Respuesta #7 en: 20 Septiembre 2010, 07:39 am »

Segun la documentacion oficial en Windows deberia ir perfectamente :-\
Código:
http://docs.python.org/library/socket.html
En línea

Littlehorse
All the world's a stage
Colaborador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: [Python] WhoPingMe by LordRNA.
« Respuesta #8 en: 20 Septiembre 2010, 07:50 am »

Segun la documentacion oficial en Windows deberia ir perfectamente :-\
Código:
http://docs.python.org/library/socket.html

Siempre y cuando tengas los privilegios adecuados, caso contrario cualquier operación retornara permiso denegado.

Saludos

En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [Python] WhoPingMe by LordRNA.
« Respuesta #9 en: 20 Septiembre 2010, 17:37 pm »

tenia entendido que en Windows XP SP2 y posteriores el usuario no podia utilizar Sockets Raw.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines