[JAVA] lancer un script Python

Fermé
calaglin2 Messages postés 44 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 21 septembre 2009 - 6 avril 2008 à 17:57
calaglin2 Messages postés 44 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 21 septembre 2009 - 6 avril 2008 à 21:00
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
A voir également:

1 réponse

calaglin2 Messages postés 44 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 21 septembre 2009 13
6 avril 2008 à 21:00
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
0