1
我想创建一个捕获某些数据包并分析它们的程序。我使用pcap_loop
来捕获数据包,这意味着我的程序无限期地停留在这个命令上。所以我的解决方案是创建2个proccesses,其中一个将捕获数据包(子),另一个将使用提取的信息进行分析(父级)。作为该计划无限期地运行和分析实时发生的,我想对于程序看起来像这样:父进程“倾听”孩子的消息
儿童:
capture_packets(packet_foo());
packet_foo() {
extract_info();
send_to_parent()
}
家长:
while(1) {
wait_for_msg_from_child();
recv_msg();
analyze();
printf();
}
我希望你明白我正在尝试做什么。是否有可能创造这种沟通?有没有更好的方法来做到这一点,我想不出来?
谢谢。
当然,两个进程之间可以进行通信,特别是如果只有一个方向的话。你甚至可以走得这么远,设计一个简单的文本协议,并通过管道进行两次谈话,例如,孩子|父'或'capture_packets | analyzer'。 –
是的,我知道这绝对有可能,但我更感兴趣的是家长“等待”孩子发送消息的部分 – mandatory
您正在使用哪种编程语言? –