0

我基本上有两行代码,它们是:

tcpdump -i eth0 -s 65535 -w - >/tmp/Captures

tshark -i /tmp/Captures -T pdml >results.xml

如果我在单独的终端中运行它们,它工作正常。

但是我一直在尝试创建一个简单的 bash 脚本来同时执行它们,但是没有运气。Bash 脚本如下:

#! /bin/bash
tcpdump -i eth0 -s 65535 -w - >/tmp/Captures &

tshark -i /tmp/Captures -T pdml >results.xml &

如果有人可以帮助让它工作或让它“运行 tcpdump 直到按下一个键,然后运行 ​​tshark。然后当再次按下一个键时关闭。”

我只有一点 bash 脚本编写经验。

4

1 回答 1

1

需要分别运行 tcpdump 和 tshark 吗?使用管道命令会将 tcpdump 的输出馈送到 tshark 的输入。

tcpdump -i eth0 -s 65535 | tshark -T -pdml > results.xml 
于 2013-02-21T22:35:21.440 回答