Quick question: is the documentation regarding NFS on the Bro-wiki accurate?
"Deficiency: Bro's notion of NFS is currently confined to just
knowledge of the existence of these services. It does not analyze the
particulars of different NFS operations."
I am trying to extract some NFS file access events from a trace and
cannot seem to get the nfs_request_* nfs_attempt_* event handlers to
trigger. Should I be able to?
(I feel I won't be able to give the definitive answer to this one, so
others are very welcome to jump in.)
I wonder whether it could be that Bro doesn't read all of the traffic --
check whether the resulting filter looks decent by adding
print-filter.bro at the end of your invocation?
Also, I'm wondering how the source port can be 4160508447 in your
tcpdump!?
> Sadly, yes I do not get any output from nfs.bro.
>
> The tcpdump output for my trace looks like:
>
> 16:01:13.467628 IP client.host.name.4160508447 > server.host.name.nfs:
> 132 getattr [|nfs]
Also, I'm wondering how the source port can be 4160508447 in your
tcpdump!?
Turns out this looks like a tcpdump bug that has an appropriate fix
(see bin/105334: Error in output of tcpdump).
So, I think my trace is actually fine.
I ran bro in gdb to trace out the execution. It seems the UDP.cc
analyzer gets called, but the analysis goes no further than that --
i.e. I get to UDP_Analyzer::DeliverPacket, but I never get to
RPC_UDP_Analyzer_binpac::DeliverPacket. I have tried running with the
--use-binpac option, but get the same result.
16:01:13.467628 IP client.host.name.4160508447 > server.host.name.nfs:
132 getattr [|nfs]
Whenever tcpdump displays "|xxx", it means that the packet was truncated
due to a snapshot limitation. Bro can't analyze such packets at the
application level. So you need to capture traffic using tcpdump -s 0 to
turn off the limited snapshot.
Note, the funky port number its showing is the NFS file handle (or maybe
it's the RPC transaction ID - I forget which) - a tcpdump feature. So
I'm not sure what to make about your later comment that this was a tcpdump
bug ...