Where are the log files when DNS monitoring ran by cli ?


When I run :

bro -i eth0 -i eth1 /usr/local/bro/share/bro/base/protocols/dns/main.bro

listening on eth0, capture length 8192 bytes

listening on eth1, capture length 8192 bytes

1413981834.692222 warning in /usr/local/bro/share/bro/base/misc/find-checksum-offloading.bro, line 54: Your interface is likely receiving invalid TCP and UDP checksums, most likely from NIC checksum offloading.

1413982439.080452 received termination signal
1413982439.080452 5 packets received on interface eth0, 0 dropped
1413982439.080452 1977 packets received on interface eth1, 0 dropped

I don’t see any log file created under:


Suggestions ?

It looks like you have bad checksums probably from NIC checksum offloading. :slight_smile:


I have bro on Ubuntu 14.04 VM’s running under VirtualBox on Linux .

Should the dns.logs appear /usr/local/bro/logs if those errors were corrected ?

The logs appear when I start bro using broctl .

I get the sense you've made changes to broctl's configuration then. Did you add broars=-C to broctl.cfg perhaps?


No changes made to broctl.cfg !

I am running bro outside of broctl … are those setting read by bro during startup ?

I'm confused. You first said that you weren't getting logs when you ran Bro outside of BroControl but then you said you were getting logs when you ran Bro with BroControl.

If you run bro directly at the command line, it won't load any of the broctl scripts or implement any of the broctl configuration. You are almost certainly seeing invalid checksums on one of the interfaces you're sniffing. If you want to see if that's it, you could temporarily disable checksum checking with the -C flag on the command line. I don't recommend running with that configuration for normal use though.

It seemed like you were also confused about where logs would be written when running bro directly. They should be written to your current working directory by default. :slight_smile:


Bingo - the dns.log is in the cwd !

Q answered !

Try running

bro -C -i eth0 -i eth1

By default, all scripts in base/ are loaded when calling Bro. Log files are dropped in your working directory when running bro without broctl.
Just a note, don’t ever change scripts in base/.