Re: [Python] Emulare il comando ping...

2012-03-13 Thread Giorgio Zoppi
raw sockets + icmp
scapy penso faccia al tuo caso.

Il 13 marzo 2012 07:05, Ulysses Kalle  ha scritto:
> Stavo cercando di fare uno script che emuli il comando "ping" del terminale
> (o dos, dipende dal sistema).
>
> Riesco a connettermi a un host ma poi?
> Non saprei cosa inviare, sempre che la procedura sia giusta (uso i socket).
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>



-- 
Quiero ser el rayo de sol que cada día te despierta
para hacerte respirar y vivir en me.
"Favola -Moda".
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-13 Thread Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Il 13/03/2012 07:05, Ulysses Kalle ha scritto:
> Stavo cercando di fare uno script che emuli il comando "ping" del
> terminale (o dos, dipende dal sistema).
> 
> Riesco a connettermi a un host ma poi?
> Non saprei cosa inviare, sempre che la procedura sia giusta (uso i socket).
> 

Basta una veloce ricerca su Internet per avere la risposta:
http://lmgtfy.com/?q=ping+python


Ciao  Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk9fYlEACgkQscQJ24LbaUTv8wCfRfxGLHbQtT3K4cHvMlzp/kHO
GtkAn2MoA2JJPSYTRS2JuV4hH0mGFu7J
=gcft
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-13 Thread Giampaolo Rodolà
Il 13 marzo 2012 08:49, Giorgio Zoppi  ha scritto:
> raw sockets + icmp
> scapy penso faccia al tuo caso.

Purtroppo questo richiede privilegi di root.
Ci ho sbattuto la testa un buon paio d'ore sul problema e sono giunto
alla conclusione che l'unica soluzione è parsare l'output di 'ping' e
tanti saluti.
Se può tornare utile all'OP, eccolo qui (funzia solo su UNIX):


from subprocess import call, PIPE

def ping(host, timeout=10):
"""Return True if host is up."""
# -q = quiet output
# -c = count
# -w = total timeout
# -W = timeout for a single ICMP REPLY
# -n = no DNS resolution for the output
timeout = str(timeout)
assert timeout.isdigit(), timeout
retcode = call(["ping", "-q", "-c", "1", "-w", timeout, "-W", "1",
"-n", host],
   stdout=PIPE)
return True if retcode == 0 else False
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread enrico franchi
On Wednesday, March 14, 2012, Giampaolo Rodolà wrote:


> > raw sockets + icmp
> > scapy penso faccia al tuo caso.
>
> Purtroppo questo richiede privilegi di root.


+1

Temo anche io.


-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread Daniele Varrazzo

On Wed, 14 Mar 2012 08:49:06 +0100, enrico franchi wrote:

On Wednesday, March 14, 2012, Giampaolo Rodolà wrote:



> raw sockets + icmp
> scapy penso faccia al tuo caso.

Purtroppo questo richiede privilegi di root.



+1

Temo anche io.


Certo, infatti ping è un comando setuid.

--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread Giorgio Zoppi
Il 14 marzo 2012 10:45, Daniele Varrazzo  ha scritto:
> On Wed, 14 Mar 2012 08:49:06 +0100, enrico franchi wrote:
>>
>> On Wednesday, March 14, 2012, Giampaolo Rodolà wrote:
>>
>>
>>> > raw sockets + icmp
>>> > scapy penso faccia al tuo caso.
>>>
>>> Purtroppo questo richiede privilegi di root.
>>
>>
>>
>> +1
>>
>> Temo anche io.

+1 per il parsing, pare l'opzione migliore...perche io no porrei mai
chmod u+s a python
Altre opzioni tipo wrapping o embedding python in un binario suid..bo
non so quanto siano sicure.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread Val


Premessa: sono uno sviluppatore professionista da 20 anni in vari linguaggi, ma 
Pythonista amatoriale (ed entusiasta) da 1, vi leggo solo, senza mai scrivere.
Per risolvere un problema simile ho goggleato vari tipi di soluzioni possibili 
e ne ho trovata una che ha il difetto delle basse performance, ma è sicuramente 
alternativa:
Nella variabile IP_curr c'è ovviamente l'IP da pingare.


import socket


    try:
    host = socket.gethostbyaddr(IP_curr)[0]
    except socket.herror:
    host = 0


   if host == 0:
    msg = msg + "OFFLINE"
    else:
    msg = msg + str(host)

    print msg



>
> Da: Giorgio Zoppi 
>A: Discussioni generali sul linguaggio Python  
>Inviato: Mercoledì 14 Marzo 2012 11:21
>Oggetto: Re: [Python] Emulare il comando ping...
> 
>Il 14 marzo 2012 10:45, Daniele Varrazzo  ha scritto:
>> On Wed, 14 Mar 2012 08:49:06 +0100, enrico franchi wrote:
>>>
>>> On Wednesday, March 14, 2012, Giampaolo Rodolà wrote:
>>>
>>>
>>>> > raw sockets + icmp
>>>> > scapy penso faccia al tuo caso.
>>>>
>>>> Purtroppo questo richiede privilegi di root.
>>>
>>>
>>>
>>> +1
>>>
>>> Temo anche io.
>
>+1 per il parsing, pare l'opzione migliore...perche io no porrei mai
>chmod u+s a python
>Altre opzioni tipo wrapping o embedding python in un binario suid..bo
>non so quanto siano sicure.
>___
>Python mailing list
>Python@lists.python.it
>http://lists.python.it/mailman/listinfo/python
>
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread Marco Beri
2012/3/14 Val 

> import socket
>
> try:
> host = socket.gethostbyaddr(IP_curr)[0]
> except socket.herror:
> host = 0
>
>
>if host == 0:
> msg = msg + "OFFLINE"
> else:
> msg = msg + str(host)
>
> print msg
>

Non so se funziona, ma come codice io lo scriverei così:

try:
msg += str(socket.gethostbyaddr(IP_curr)[0])
except socket.herror:
msg += "OFFLINE"

Ciao.
Marco.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread Giampaolo Rodolà
Il 14 marzo 2012 12:14, Val  ha scritto:
>
>
> Premessa: sono uno sviluppatore professionista da 20 anni in vari linguaggi, 
> ma Pythonista amatoriale (ed entusiasta) da 1, vi leggo solo, senza mai 
> scrivere.
> Per risolvere un problema simile ho goggleato vari tipi di soluzioni 
> possibili e ne ho trovata una che ha il difetto delle basse performance, ma è 
> sicuramente alternativa:
> Nella variabile IP_curr c'è ovviamente l'IP da pingare.
>
>
> import socket
>
>
>     try:
>     host = socket.gethostbyaddr(IP_curr)[0]
>     except socket.herror:
>     host = 0
>
>
>    if host == 0:
>     msg = msg + "OFFLINE"
>     else:
>     msg = msg + str(host)
>
>     print msg

Non mi pare molto affidabile. Col mio provider ad esempio non funziona:


>>> socket.gethostbyaddr('adksndkasndk.com')  # dominio non registrato
('ar.libero.it', [], ['212.52.82.27'])
>>>


--- Giampaolo
http://code.google.com/p/pyftpdlib/
http://code.google.com/p/psutil/
http://code.google.com/p/pysendfile/
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread Remo The Last
ma,...
io direi che ci sono tante soluzioni per emulare il Ping di sistema:

Per iniziare dalla più complessa, è quella di costruire tu stesso un pacchetto 
syn che attende hack e calcolarne il tempo a/r.

Il più meraviglioso e facile sarebbe Scapy con il quale ti puoi divertire ed 
ottenere tantissimi risultati (certo necessita di autorizzazioni root - su OS 
Linux per es.)

Puoi utilizzare il ping del tuo OS catturando e gestendo l'output.

O allora puoi usare direttamente il full-connect del TCP

o altre soluzioni ancora... non hai che da sciegliere.


Ma ti propongo una cosa... prova a fare un ping UDP !!! eheheheh

Salutoni
Re





 Da: Ulysses Kalle 
A: Discussioni generali sul linguaggio Python  
Inviato: Martedì 13 Marzo 2012 7:05
Oggetto: [Python] Emulare il comando ping...
 

Stavo cercando di fare uno script che emuli il comando "ping" del terminale (o 
dos, dipende dal sistema).

Riesco a connettermi a un host ma poi?
Non saprei cosa inviare, sempre che la procedura sia giusta (uso i socket).
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread Val
Scusatemi, mi sono scordato di dire che io avevo la necessità primaria di 
pingare indirizzi IP multipli all'interno di una grossa rete aziendale, non su 
internet!
Chiedo venia

Valerio



- Messaggio originale -
> Da: Giampaolo Rodolà 
> A: Val ; Discussioni generali sul linguaggio Python 
> 
> Cc: 
> Inviato: Mercoledì 14 Marzo 2012 12:42
> Oggetto: Re: [Python] Emulare il comando ping...
> 
> Il 14 marzo 2012 12:14, Val  ha scritto:
>> 
>> 
>>  Premessa: sono uno sviluppatore professionista da 20 anni in vari 
> linguaggi, ma Pythonista amatoriale (ed entusiasta) da 1, vi leggo solo, 
> senza 
> mai scrivere.
>>  Per risolvere un problema simile ho goggleato vari tipi di soluzioni 
> possibili e ne ho trovata una che ha il difetto delle basse performance, ma è 
> sicuramente alternativa:
>>  Nella variabile IP_curr c'è ovviamente l'IP da pingare.
>> 
>> 
>>  import socket
>> 
>> 
>>  try:
>>  host = socket.gethostbyaddr(IP_curr)[0]
>>  except socket.herror:
>>  host = 0
>> 
>> 
>> if host == 0:
>>  msg = msg + "OFFLINE"
>>  else:
>>  msg = msg + str(host)
>> 
>>  print msg
> 
> Non mi pare molto affidabile. Col mio provider ad esempio non funziona:
> 
> 
>>>>  socket.gethostbyaddr('adksndkasndk.com')  # dominio non 
> registrato
> ('ar.libero.it', [], ['212.52.82.27'])
>>>> 
> 
> 
> --- Giampaolo
> http://code.google.com/p/pyftpdlib/
> http://code.google.com/p/psutil/
> http://code.google.com/p/pysendfile/
> 
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread Marco Mariani
2012/3/14 Val 

Scusatemi, mi sono scordato di dire che io avevo la necessità primaria di
> pingare indirizzi IP multipli all'interno di una grossa rete aziendale, non
> su internet!
>

quando ne ho avuto bisogno mille anni fa, ho usato 'import subprocess' e
/usr/bin/fping anziche' ping
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread Ulysses Kalle
Grazie mille per la risposta, ora cerco in giro...
Il giorno 13/mar/2012 08:50, "Giorgio Zoppi"  ha
scritto:

> raw sockets + icmp
> scapy penso faccia al tuo caso.
>
> Il 13 marzo 2012 07:05, Ulysses Kalle  ha
> scritto:
> > Stavo cercando di fare uno script che emuli il comando "ping" del
> terminale
> > (o dos, dipende dal sistema).
> >
> > Riesco a connettermi a un host ma poi?
> > Non saprei cosa inviare, sempre che la procedura sia giusta (uso i
> socket).
> >
> > ___
> > Python mailing list
> > Python@lists.python.it
> > http://lists.python.it/mailman/listinfo/python
> >
>
>
>
> --
> Quiero ser el rayo de sol que cada día te despierta
> para hacerte respirar y vivir en me.
> "Favola -Moda".
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread Andrea Francia
2012/3/14 Marco Mariani 

> Scusatemi, mi sono scordato di dire che io avevo la necessità primaria di
>> pingare indirizzi IP multipli all'interno di una grossa rete aziendale, non
>> su internet!
>>
>
nmap?

-- 
Andrea Francia http://www.andreafrancia.it
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread Gian Mario Tagliaretti
2012/3/14 Val :
> Scusatemi, mi sono scordato di dire che io avevo la necessità primaria di 
> pingare indirizzi IP multipli all'interno di una grossa rete aziendale, non 
> su internet!

Se devi controllare che le macchine siano attive guarda questa recipe
del "dott. prof. sup. uff. lup. man." Nicola Larosa
http://code.activestate.com/recipes/52302-pyheartbeat-detecting-inactive-computers/

> Chiedo venia

...per il top-posting? Scusato

ciao
-- 
Gian Mario Tagliaretti
GNOME Foundation member
gia...@gnome.org
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Emulare il comando ping...

2012-03-14 Thread Nicola Larosa
Gian Mario Tagliaretti wrote:
> Se devi controllare che le macchine siano attive guarda questa recipe 
> del "dott. prof. sup. uff. lup. man." Nicola Larosa
> http://code.activestate.com/recipes/52302-pyheartbeat-detecting-inactive-computers/

Maro' che hai tirato fuori, non m'era neanche venuta in mente. :-)

-- 
Nicola Larosa - http://www.tekNico.net/

What the MPAA and RIAA and the SAG are doing when they attempt to put
in digital restrictions management into computer hardware and force
ISPs to filter content is the equivalent of the Luddites burning
water mills and power looms. - Vladimir Sedach, December 2011
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python