# Interprocess Communication from BroScript

**URL:** <https://community.zeek.org/t/interprocess-communication-from-broscript/2847>\
**Category:** Zeek\
**Created:** [October 2, 2013, 5:28pm UTC](https://community.zeek.org/t/interprocess-communication-from-broscript/2847 "2013-10-02T17:28:05Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![James\_Hook](https://avatars.discourse-cdn.com/v4/letter/j/e36b37/32.png) [@James\_Hook](https://community.zeek.org/u/James_Hook)\
**Post date:** [October 2, 2013, 5:28pm UTC](https://community.zeek.org/t/interprocess-communication-from-broscript/2847/1 "2013-10-02T17:28:05Z")

</div>

Hi all,

I have some C code that analyses data (inc. URLs, domains) that I want to invoke from Bro to extract additional data from network data. I envisage this data being an extra column in the resultant bro log files.

I’m fairly sure I can do this with awk retrospectively but wanted to ask the list whether it was possible using some of the IPC commands in the language. Reading the specifications for these functions there appears to be no way to invoke the commands and receive non-trivial output.

The commands i’m looking at are  
system,system\_env - returns the return code from the command (limited to being an integer) - i thought about returning the result into an environment variable, but that would require invoked command to be recompiled  
piped\_exec - only returns true/false on success failure

Has anybody else done anything similar?  
Are there anyways to load modules, call c functions (or functions in scripting languages) from the bro language?

Thanks in advance

James

---

<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:41pm UTC](https://community.zeek.org/t/interprocess-communication-from-broscript/2847/2 "2022-05-06T15:41:17Z")

</div>


