[JAVA] lancer un script Python

Fermé
Signaler
Messages postés
44
Date d'inscription
lundi 19 février 2007
Statut
Membre
Dernière intervention
21 septembre 2009
-
Messages postés
44
Date d'inscription
lundi 19 février 2007
Statut
Membre
Dernière intervention
21 septembre 2009
-
Bonjour,
j'aimerais lancer un script Python utilisant la librairie scapy depuis un programme java, mais je n'y arrive pas :

1) la méthode exec de Runtime ne le lance pas (je trouve ça bizarre, ça lance bien les shell pourtant)
2) j'ai même utilisé Jython, mais ce dernier (même s'il est vraiment pratique) me sort un message d'erreur à cause de scapy

donc impossible de lancé mon script, pouvez vous m'aider svp


mon code python :

#!usr/bin/python

from scapy import *


ip_src=sys.argv[1]
ip_dst=sys.argv[2]
dst=sys.argv[3]



while 0<1:
sn=sniff(filter="src "+ip_src+" and dst "+ip_dst,count=1)
sn[0].dst=dst
sendp(sn[0])



une partie du code java :


import org.python.util.InteractiveInterpreter;
import org.python.util.PythonInterpreter;

...

interp = new InteractiveInterpreter();
Properties props = new Properties();
//Le chemin des librairies python
props.setProperty( "python.path", "lib/Lib" );
PythonInterpreter.initialize( System.getProperties( ), props, new String[]{""});

...

public void executeScript(String fileName)
{
try
{
interp.cleanup();
interp.execfile( fileName );
}
catch(Exception e)
{

}
}

...

executeScript("test.py");



mon message d'erreur quand je lance le script :


>jython forward.py 185.168.5.4 198.165.7.5 00:22:55:44:66:88

Traceback (innermost last):
File "forward.py", line 3, in ?
File "C:\Documents and Settings\pierre henri\Bureau\code\scapy.py", line 928
xx = sum(len(k) for k in linex)
^
SyntaxError: invalid syntax


Je tiens à préciser que le scripts marche parfaitement avec python, c'est avec jython qu'il ne marche pas
Est-ce qu'il y aurait un autre moyen de lancer le script ?
merci d'avance

1 réponse

Messages postés
44
Date d'inscription
lundi 19 février 2007
Statut
Membre
Dernière intervention
21 septembre 2009
13
J'ai trouvé une solution pour contourner jython, c'est de lancer le script depuis un script dos ou shell qui lui même est lancé depuis le programme java avec exec de Runtime.
Le problème est que le code n'est plus portable...

Si quelqu'un trouve une autre solution je suis preneur

merci