由接入syslog的工作引出来的一系列网络知识

    有一个工作就是接入华为防火墙的syslog;

 

   接入syslog的基本原理是: 会在一个IP上的一个port以UDP协议广播syslog信息!

 

   通过java程序接入,不能使用DatagramSocket类(因为是是接收广播消息),需要使用MulticastSocket;

 

   syslog服务器上一般有多个网卡:

 

xxxxxxxxxxxx-SysLogCol1:/home/boco # ifconfig

eth0      Link encap:Ethernet  HWaddr 3C:4A:92:F9:60:C2  
          inet addr:10.166.173.36  Bcast:10.166.173.255  Mask:255.255.255.0
          inet6 addr: fe80::3e4a:92ff:fef9:60c2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:509342 errors:0 dropped:0 overruns:0 frame:0
          TX packets:561906 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:194140342 (185.1 Mb)  TX bytes:905886930 (863.9 Mb)
          Interrupt:190 

eth2      Link encap:Ethernet  HWaddr 3C:4A:92:F9:60:C0  
          inet addr:192.168.1.200  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::3e4a:92ff:fef9:60c0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:810679025 errors:0 dropped:0 overruns:0 frame:0
          TX packets:159026 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3313627242 (3160.1 Mb)  TX bytes:73234679 (69.8 Mb)
          Interrupt:207 

 

一般怎么看,syslog是通过哪个端口广播的呢?查看/etc/services文件,可以找到如下这么一段:

 

#                          is performed as for login server
syslog          514/udp
printer         515/tcp    # spooler
printer         515/udp    # spooler

这样基本能确定是514端口上发送syslog消息了; 

 

 

 

一般怎么看,syslog是在哪个网卡广播呢?哈哈,我也不能太确定,但是一般syslog会很多,从上面的信息可以看出 eth2 网卡很有可能在发syslog

 

 

通过  tcpdump -i eth2 port 514 抓包命令,抓取相应的数据包查看一下,看看里面的数据包的数据格式跟syslog格式是否符合,通过以上步骤基本能定位网卡!

 

 

 

这样在java程序中,可以这么写:

datagramSocket = new MulticastSocket(port);				//设置监听的端口
datagramSocket.setInterface(InetAddress.getByName(server));   // 设置相应的网卡
datagramSocket.joinGroup(InetAddress.getByName(server));        //设置相应需要接收的IP地址

 

 

程序实现基本上是这样!!!

 

 

除此之外,进行网络编程需要了解

 

       Lsof命令:

http://apps.hi.baidu.com/share/detail/22248668

 

netstat:

 

        http://baike.baidu.com/view/430584.htm

 

 

你可能感兴趣的:(编程,工作,防火墙,网络协议,华为)