1
在一臺服務器上,我從192.168.0.21上運行的應用程序接收192.168.0.51上的udp數據包,並且必須回覆一個特定的確認數據包。bash接收udp數據包tcpdump
的解決方案,我所寫的作品如下:
#!/bin/bash
send_ack() {
<calculate $ack - code removed>
echo -n "$ack" | nc -u -w1 192.168.0.21 8076
}
while [ 1 ]
do
for string in $(/usr/sbin/tcpdump -Avnni eth0 -c 1 dst 192.168.0.51 and udp port 8076)
do
send_ack &
done
done
的問題是,我似乎有一些運行狀態,當數據包到達太快了,我想他們的tcpdump重新開始前到達。 我試過-l用於單行緩衝區而不用-c 1而沒有成功。
有沒有人有任何想法如何解決這個問題?
感謝,期待:)