클라이언트 (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 이후에 awk 등을 출력하면 아무 출력도 얻지 못합니다. 왜 그런가요? 파이프 라인을 사용하여 tcpdump의 출력을 실시간으로 처리 할 수없는 이유는 무엇입니까? (따라서 예 : 3 번째 열만 출력하는 예)
이에 대한 해결책이 있습니까?