Je cours le tcpdump sur mon émulateur android et comme le tcpdump fonctionne en arrière-plan il n'y a pas de données dans le tampon et donc l'application est bloquée à ce stade. ici est la partie du code:tampon de sortie vide jusqu'à tcpdump est tué
else if (tcpdumpButton.isChecked())
{
try
{
Process process1 = Runtime.getRuntime().exec("tcpdump");
DataOutputStream os = new DataOutputStream(process1.getOutputStream());
BufferedReader osRes = new BufferedReader(new InputStreamReader(process1.getInputStream()));
//ByteArrayInputStream osRes = (ByteArrayInputStream) process1.getInputStream();
// os.writeBytes("tcpdump -l port 80");
os.flush();
StringBuffer output = new StringBuffer();
try
{
while ((osRes.readLine()) != null)
{
output.append(osRes.readLine());
output.append("\n");
}
}
catch (Exception e)
{
throw e;
}
process1.waitFor();
tv.setText(output);
setContentView(tv);
}
catch (Exception e)
{
throw e;
}
d'aide?
Vous démarrez un sous-processus 'tcpdump'. Qu'est-ce qui le fait se terminer? – erickson
Je ne veux pas qu'il se termine car je veux capturer tous les paquets de données – Jony