Python - Guardar salida de Popen en txt

   
Vista:

Guardar salida de Popen en txt

Publicado por Jotacee (3 intervenciones) el 09/05/2015 12:37:58
Hola a todos

Desde Linux intento escanear mi red y guardar el resultado de NMAP en un fichero.
pero solo me guarda la ultima linea.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#llamada a aplicaciones por comando y argumento mediante metodo CALL
from subprocess import call
comando_y_argumentos = ['nmap', '-sP', '192.168.1.*']
call(comando_y_argumentos)
#metodo popen
from subprocess import Popen, PIPE
 
proceso = Popen(['nmap', '-sP', '192.168.1.*'],stdout=PIPE)
 
 
for listado in iter (proceso.stdout.readline,''):
#copia en fichero
    nmap_re=open("genera.txt","w")
    nmap_re.writelines(listado)
    nmap_re.close()
    print listado
 
proceso.stdout.close()
 
print decora.center(50,"*")
 
print proceso

(perdón si mi código es una patada a python pero hace poco que empece con el)

un saludo y gracias a todos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Guardar salida de Popen en txt

Publicado por xve (1237 intervenciones) el 09/05/2015 21:03:03
Hola, creo que lo tienes casi bien... yo lo he modificado un pelin...

1
2
3
4
5
6
7
8
9
10
11
12
#metodo popen
from subprocess import Popen, PIPE
 
proceso = Popen(['nmap', '-sP', '192.168.0.*'],stdout=PIPE)
 
nmap_re=open("genera.txt","w")
for listado in proceso.stdout.readlines():
    nmap_re.write(listado)
    print listado
nmap_re.close()
 
proceso.stdout.close()

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar salida de Popen en txt

Publicado por Jotacee (3 intervenciones) el 09/05/2015 23:21:21
xve Muchas gracias por tu respuesta.

me esta retornando <subprocess.Popen object at 0x76c31fd0>

Y en el txt continua printeando la ultima fila solo :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Guardar salida de Popen en txt

Publicado por xve (1237 intervenciones) el 10/05/2015 07:41:41
Hola Jotacee a mi tal cual te lo he mostrado me funciona perfectamente... estoy utilizando python 2.7 sobre Linux Debian.

Seguro que has probado el código que te he puesto?? es muy extraño que solo te guarde la ultima linea...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar salida de Popen en txt

Publicado por Jotacee (3 intervenciones) el 10/05/2015 11:35:44
Python 2.7.3 GCC 4.6.3 en Raspberry Pi 2 con Raspbian

Pero ahora ya me has paranoiado y estoy montando un Debian 8, te comento en un ratin ;)
gracias por todo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar