Am 02.12.2014 um 19:05 schrieb James B. Byrne:
I am attempting to get a script borrowed from DJB to work on my CentOS-6.6
box.  Simplified it looks like this:

tcpdump -l -n -e port 53 \
   | awk '{if ($14 ~ /A.*?/) print $15}' \
   | while read domain ; do echo $domain ; done ;

The sticking point is the 'while read' construct.  Run just as 'tcpdum | awk'
I get this:

english.stackexchange.com.
www.urbandictionary.com.
www.urbandictionary.com.
www.urbandictionary.com.
www.urbandictionary.com.
api.mywot.com.
a.udimg.com.
a.udimg.com.
fonts.googleapis.com.
. . .

Run with the 'while read $domain ; do echo ' pipe nothing appears whatsoever.
What am I doing wrong?

while read domain; do
    echo ${domain}
done < <(tcpdump -l -n -e port 53 | awk '{if ($14 ~ /A.*?/) print $15}')

The "echo ${domain}" part is certainly just a simplification of a more complex command to run on the variable. Else it would be pointless as awk is printing out the domain field 15.

Alexander


_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos

Reply via email to