Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 拦截到自定义UDP服务器的系统日志通信_C_Logging_Udp_Syslog - Fatal编程技术网

C 拦截到自定义UDP服务器的系统日志通信

C 拦截到自定义UDP服务器的系统日志通信,c,logging,udp,syslog,C,Logging,Udp,Syslog,我正试图拦截来自ubuntu中自定义UDP服务器的特定于应用程序的系统日志通信。出于测试目的,我停止了在端口514中运行的默认syslogd守护进程,并配置了一个UDP服务器来侦听端口514上的UDP通信。在这样做的过程中,我面临以下问题: 必须使用syslogd=“-r”在/etc/default/syslogd文件中启用远程日志记录功能。但是,由于我停止了syslogd守护进程并在端口514上运行我自己的UDP服务器,是否有其他方法可以在不使用syslog.conf文件的情况下启用远程日志记

我正试图拦截来自ubuntu中自定义UDP服务器的特定于应用程序的系统日志通信。出于测试目的,我停止了在端口514中运行的默认syslogd守护进程,并配置了一个UDP服务器来侦听端口514上的UDP通信。在这样做的过程中,我面临以下问题:

  • 必须使用syslogd=“-r”在/etc/default/syslogd文件中启用远程日志记录功能。但是,由于我停止了syslogd守护进程并在端口514上运行我自己的UDP服务器,是否有其他方法可以在不使用syslog.conf文件的情况下启用远程日志记录(以编程方式等),以便将日志通信发送到端口514

  • 是否有方法将syslog流量定向到另一个具有默认端口514的端口(流量必须发送到两个端口)?如果是这种情况,我可以在第二个端口轻松运行自定义UDP守护进程并截获日志流量


  • 谢谢。

    不能让两个守护进程在同一端口上侦听。将UDP测试服务器(如netcat)设置为在另一个端口(如1514)上侦听,并将ubuntu服务器配置为将日志发送到此端口。

    您看过wireshark吗?它可以嗅出所有进出你电脑的流量。它是开源的,所以如果您需要比它能提供的更具体的东西,您可以访问源代码@悲伤不,我没有。但我认为wireshark在这里可能有点过头了。如果我能让一个简单的UDP服务器正常工作,它将非常出色。您可以在两个端口上发送流量,只需在第二个端口上打开另一个套接字,然后在那里重新发送消息。@YoussefG。你能再解释一下吗?我需要做的是写入另一个UDP端口,同时保留现有端口。因此,日志消息应该同时发送到端口514和新端口。谢谢。@Izza:你看过IpTables吗?有一个unix stackexchange答案,它似乎就是您想要做的。