UDP嗅探器类似于netcat TCP嗅探器

时间:2014-02-19 03:58:06

标签: bash sockets udp netcat

在netcat手册页中,您可以使用以下内容嗅探/保存TCP流:

mkfifo data
cat data | nc -l $port | tee -a $fn1 | nc $server $port | tee -a $fn2 > data

所以我尝试了类似下面的内容来为UDP做同样的事情:

mkfifo data
cat data | nc -lu $port | tee -a $fn1 | nc -u $server $port | tee -a $fn2 > data

但它失败了,我认为这是因为写入和读取data之间的竞争条件以及tee命令的管道,这意味着我不能保证UDP数据包是一个接一个地传播。

我是否可以使用现有的命令或工具来嗅探UDP会话而不更改数据包?最好是一个单行bash命令,虽然短的ruby或python或任何脚本也可以。

1 个答案:

答案 0 :(得分:0)

socat -x "udp-listen:$port" "udp:$server:$host" 2> logfile