# Support SNMP and MODBUS/TCP Protocols?

**URL:** <https://community.zeek.org/t/support-snmp-and-modbus-tcp-protocols/2402>\
**Category:** Zeek\
**Created:** [August 13, 2012, 8:56pm UTC](https://community.zeek.org/t/support-snmp-and-modbus-tcp-protocols/2402 "2012-08-13T20:56:55Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Huiping\_Song](https://avatars.discourse-cdn.com/v4/letter/h/77aa72/32.png) [@Huiping\_Song](https://community.zeek.org/u/Huiping_Song)\
**Post date:** [August 13, 2012, 8:56pm UTC](https://community.zeek.org/t/support-snmp-and-modbus-tcp-protocols/2402/1 "2012-08-13T20:56:55Z")

</div>

We like to use Bro to monitor and analyze SNMP and MODBUS/TCP traffic in industrial control networks. Does the latest version of Bro support SNMP, MODBUS/TCP and any other industrial control protocols?

If not currently supported, what are the typical steps to make bro to support a new protocol?

Thank you,

Huiping

---

<div class="post-metadata">

**Author:** ![robin](https://yyz1.discourse-cdn.com/flex011/user_avatar/community.zeek.org/robin/32/599_2.png) [@robin](https://community.zeek.org/u/robin)\
**Post date:** [August 13, 2012, 11:21pm UTC](https://community.zeek.org/t/support-snmp-and-modbus-tcp-protocols/2402/2 "2012-08-13T23:21:16Z")

</div>

> We like to use Bro to monitor and analyze SNMP and MODBUS/TCP traffic  
> in industrial control networks. Does the latest version of Bro  
> support SNMP, MODBUS/TCP and any other industrial control protocols?

No, not yet. We've a prototype of Modbus support (and DNP3), which  
will likely make it into Bro 2.2. Nobody is working on SNMP yet though  
as far as I know.

> If not currently supported, what are the typical steps to make bro to  
> support a new protocol?

The best way is to use our binpac parser generator, see here for a  
skeleton:

&nbsp;&nbsp;&nbsp;&nbsp;[http://www.bro-ids.org/development/binpac-sample-analyzer.html](http://www.bro-ids.org/development/binpac-sample-analyzer.html)

Also take a look at the existing analyzers in src/\*.pac.

Robin

---

<div class="post-metadata">

**Author:** ![Huiping\_Song](https://avatars.discourse-cdn.com/v4/letter/h/77aa72/32.png) [@Huiping\_Song](https://community.zeek.org/u/Huiping_Song)\
**Post date:** [August 14, 2012, 2:04pm UTC](https://community.zeek.org/t/support-snmp-and-modbus-tcp-protocols/2402/3 "2012-08-14T14:04:58Z")

</div>

Hi Robin,

Thanks for the updates. Good to know that there will be a prototype of MODBUS support in Bro 2.2. Any estimates about the release timeline for Bro 2.2?

Can the prototype of MODBUS support also be customized to work with Bro 2.0 quickly? We are eager to experiment using Bro to monitor and analyze MODBUS/TCP traffic. 🙂

Best regards,  
Huiping

---

<div class="post-metadata">

**Author:** ![Hui\_Lin](https://avatars.discourse-cdn.com/v4/letter/h/13edae/32.png) [@Hui\_Lin](https://community.zeek.org/u/Hui_Lin)\
**Post date:** [August 14, 2012, 2:37pm UTC](https://community.zeek.org/t/support-snmp-and-modbus-tcp-protocols/2402/4 "2012-08-14T14:37:44Z")

</div>

Hi, Huiping,

We are working on merging the Modbus at this moment. I think merging Modbus would not take too long as the code size of it is not that big.

Also in case that you want to build your own analyzer in binpac, here is some sample codes:  
[http://www.bro-ids.org/development/binpac-sample-analyzer.html](http://www.bro-ids.org/development/binpac-sample-analyzer.html)

FYI, binpac can easily handle application layer protocol directly over TCP or UDP. But with complex protocol which includes session layer or presentation layer, u may need to do some modifications on Bro’s code to integrate binpac code.

Hope this help.

Best,

Hui

---

<div class="post-metadata">

**Author:** ![Huiping\_Song](https://avatars.discourse-cdn.com/v4/letter/h/77aa72/32.png) [@Huiping\_Song](https://community.zeek.org/u/Huiping_Song)\
**Post date:** [August 14, 2012, 10:03pm UTC](https://community.zeek.org/t/support-snmp-and-modbus-tcp-protocols/2402/5 "2012-08-14T22:03:43Z")

</div>

Hi Hui,

We look forward to testing the MODBUS and DNP3 analyzers as soon as they are available.

We are also interested in protocols for building automation and control networks, such as BACnet. Is there anyone currently working (or plan to work) on BACnet protocol analyzer? We may try to learn/experiment building a BACnet protocol analyzer using the BinPAC parser generator. This looks to be a daunting task at the moment.

Thanks for the help.

Huiping

---

<div class="post-metadata">

**Author:** ![Dina\_Hadziosmanovic](https://avatars.discourse-cdn.com/v4/letter/d/85e7bf/32.png) [@Dina\_Hadziosmanovic](https://community.zeek.org/u/Dina_Hadziosmanovic)\
**Post date:** [August 15, 2012, 2:28pm UTC](https://community.zeek.org/t/support-snmp-and-modbus-tcp-protocols/2402/6 "2012-08-15T14:28:47Z")

</div>

Hi Huiping,

To the best of my(our) knowledge no one is working on BACnet protocol analyzer nor its in near future plans of the people I know (mainly because its building automation protocol and not process automation). But we also might have some data for testing BACnet in near future, so if you manage to have the analyzer running, we might be able to help with more date for validation purposes.

Good luck:)

---

<div class="post-metadata">

**Author:** ![robin](https://yyz1.discourse-cdn.com/flex011/user_avatar/community.zeek.org/robin/32/599_2.png) [@robin](https://community.zeek.org/u/robin)\
**Post date:** [August 16, 2012, 5:46pm UTC](https://community.zeek.org/t/support-snmp-and-modbus-tcp-protocols/2402/7 "2012-08-16T17:46:22Z")

</div>

> Thanks for the updates. Good to know that there will be a prototype  
> of MODBUS support in Bro 2.2. Any estimates about the release  
> timeline for Bro 2.2?

The actual release will still take a bit, maybe around the end of the  
year. However, I'm hoping to have initial experimental support merged  
into git master rather soon when 2.2 development starts (once the 2.1  
release it out later this month, if all goes well).

> Can the prototype of MODBUS support also be customized to work with  
> Bro 2.0 quickly? We are eager to experiment using Bro to monitor and  
> analyze MODBUS/TCP traffic. 🙂

Once it's in git master, backporting to 2.0 or 2.1 shouldn't be  
difficult (if still needed then). If you guys (or anybody else here)  
could help us testing, that would be much appreciated.

Robin

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/zeek/original/1X/f09d732bc2cc7c7cc7e35db67cf4e1d5233ce7a7.png) [@system](https://community.zeek.org/u/system)\
**Post date:** [May 6, 2022, 3:40pm UTC](https://community.zeek.org/t/support-snmp-and-modbus-tcp-protocols/2402/8 "2022-05-06T15:40:30Z")

</div>


