[Bro] udp_reply event instead of supposed udp_request event
Christoph Goeldi
goeldich at ee.ethz.ch
Fri Feb 11 05:34:03 PST 2005
hi
i have another riddle for you today ;-)
the following policy script shows not the behaviour i suppose:
> # test.bro
>
> event udp_request(u: connection) {
> local srcIP = u$id$orig_h;
> local destIP = u$id$resp_h;
> print "udp_request", u$id;
> }
>
> event udp_reply(u: connection) {
> local srcIP = u$id$orig_h;
> local destIP = u$id$resp_h;
> print "udp_reply", u$id;
> }
i produced traffic from the source host x.x.x.75 to randomly chosen
hosts. source port was 53 (dns). the sent packets didn't
contain any dns replies.
> [root at det:/usr/local/bro]# ./bin/bro -i eth3 test
> listening on eth3
> Reading .state/state.bst ...
> udp_reply, [orig_h=28.239.208.235, orig_p=51647/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=128.212.59.231, orig_p=27613/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=82.146.148.227, orig_p=53106/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=58.2.1.68, orig_p=61607/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=83.88.197.211, orig_p=10120/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=51.85.5.250, orig_p=54565/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=109.89.191.91, orig_p=25624/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=17.93.105.34, orig_p=59958/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=105.107.199.36, orig_p=56071/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=113.201.33.243, orig_p=6563/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=32.154.25.148, orig_p=19877/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=84.150.247.84, orig_p=44926/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=114.90.239.185, orig_p=6913/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=43.22.154.204, orig_p=16223/udp, resp_h=x.x.x.75, resp_p=53/udp]
> udp_reply, [orig_h=50.56.252.49, orig_p=18381/udp, resp_h=x.x.x.75, resp_p=53/udp]
> 1108127885.586962 received termination signal
> 401 packets received on interface eth3, 0 dropped
> 1108127885.586962 Saving state...
this is the corresponding tcpdump output:
> [root at det:~]# tcpdump -i eth3 -n -q host x.x.x.75 and udp
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on eth3, link-type EN10MB (Ethernet), capture size 68 bytes
> 14:18:02.481453 IP x.x.x.75.53 > 28.239.208.235.51647: UDP, length: 33
> 14:18:02.581319 IP x.x.x.75.53 > 128.212.59.231.27613: UDP, length: 33
> 14:18:02.681322 IP x.x.x.75.53 > 82.146.148.227.53106: UDP, length: 33
> 14:18:02.781343 IP x.x.x.75.53 > 58.2.1.68.61607: UDP, length: 33
> 14:18:02.881326 IP x.x.x.75.53 > 83.88.197.211.10120: UDP, length: 33
> 14:18:02.981365 IP x.x.x.75.53 > 51.85.5.250.54565: UDP, length: 33
> 14:18:03.081301 IP x.x.x.75.53 > 109.89.191.91.25624: UDP, length: 33
> 14:18:03.181319 IP x.x.x.75.53 > 17.93.105.34.59958: UDP, length: 33
> 14:18:03.281291 IP x.x.x.75.53 > 105.107.199.36.56071: UDP, length: 33
> 14:18:03.381325 IP x.x.x.75.53 > 113.201.33.243.6563: UDP, length: 33
> 14:18:03.481325 IP x.x.x.75.53 > 32.154.25.148.19877: UDP, length: 33
> 14:18:03.581255 IP x.x.x.75.53 > 84.150.247.84.44926: UDP, length: 33
> 14:18:03.681327 IP x.x.x.75.53 > 114.90.239.185.6913: UDP, length: 33
> 14:18:03.781367 IP x.x.x.75.53 > 43.22.154.204.16223: UDP, length: 33
> 14:18:03.881327 IP x.x.x.75.53 > 50.56.252.49.18381: UDP, length: 33
>
> 15 packets captured
> 15 packets received by filter
> 0 packets dropped by kernel
my question is: why does bro recognizes udp_reply events and not udp_request
events? the packets were only sent from one host to another and there
were no packets in the opposite direction.
i know that udp packets from port 53 are often dns replies but an
assumption which is made because of the application layer protocol
shouldn't have any impact on events on the transport protocol layer...
thanx
christoph
More information about the Bro
mailing list