यदि मैं क्लाइंट (एक OpenWrt 10.04 राउटर पर) द्वारा DNS अनुरोधों को tcpdump करना चाहता हूं, तो मैं
root@ROUTER:/etc# tcpdump -n -i br-lan dst port 53 2>&1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br-lan, link-type EN10MB (Ethernet), capture size 96 bytes
22:29:38.989412 IP 192.168.1.200.55919 > 192.168.1.1.53: 5697+ A? foo.org. (25)
22:29:39.538981 IP 192.168.1.200.60071 > 192.168.1.1.53: 17481+ PTR? 150.33.87.208.in-addr.arpa. (44)
^C
2 packets captured
3 packets received by filter
0 packets dropped by kernel
वह पूरी तरह से ठीक है। परंतु। मैं रीयल टाइम में tcpdumps आउटपुट क्यों नहीं कर सकता?
root@ROUTER:/etc# tcpdump -n -i br-lan dst port 53 2>&1 | awk '/\?/ {print $3}'
^C
root@ROUTER:/etc#
अगर मैं tcpdump के बाद कुछ भी जागता हूं, तो मुझे कोई आउटपुट नहीं मिलता है। ऐसा क्यों है? मैं रियलटाइम में पाइपलाइनिंग के साथ tcpdump के आउटपुट को संसाधित क्यों नहीं कर सकता? (इसलिए कि उदाहरण: केवल 3 कॉलम में आउटपुट में उदाहरण में)
क्या इसका कोई समाधान है?