飞鱼星官方日志服务器为win软件,无法顺利在linux上运行,甚至在win7上运行也无法成功

废话少说,简单记录

0、选型:nodejs(dgram、mysql)、mysql、forever

1、安装nodejs、npm(win、linux),自行脑补

2、抓包udp,使用到了wireshark 下载地址https://1.na.dl.wireshark.org/win64/Wireshark-win64-2.2.4.exe

分析包内容 type1:4Byte,type2:4Byte,ip:32Byte,msg:剩余,端口:服务器20000,客户端2000

3、分析官方vls数据表结构得到基本元素(ip,type1,type2,msg)(最终没使用其官方表结构)

4、创建项目目录/path/to/vls,初始化项目,否则npm报错(win),npm init -f

5、npm安装dgram以处理UDP包npm install dgram -g

6、npm安装mysql以连接数据库npm install mysql -g

7、服务端代码后附

8、防火墙(如果有,请开放200000端口,请自行脑补)

9、安装forever npm install forever -g

10、创建自启动脚本/etc/init.d/vls并设置可执行权限,代码后附

11、启动service vls start

12、设置开机自启动chkconfig vls on

服务端代码

const dgram = require('dgram');
const server = dgram.createSocket('udp4');
const mysql = require('mysql');var conn = mysql.createConnection({host:'localhost', user:'root', password:'', database:'vls', port:'3306'}//修改成自己的数据库信息
);
conn.connect();
server.on('error', function(err) {console.log('server error:\n'+$err.stack);server.close();
});server.on('message', function (msg, rinfo) {if(rinfo.address=='*.*.*.*' && rinfo.port=='2000'){//修改成设备ipvar s1 = msg.slice(0,4);var s2 = msg.slice(4,8);var s3 = msg.slice(8,40);var s4 = msg.slice(40);conn.query('insert into test (ip,type1,type2,msg) values(?, ?, ?, ?)',[s3.toString().replace(/\s+$/g,""),s1.readInt32BE(0),s2.toString('hex'),s4.toString().replace(/\s+$/g,"")],function(error,results,fields){});console.log('server got: %d from %s:%d',msg.length,rinfo.address,rinfo.port);}
});server.on('listening', function() {var address = server.address();console.log('server listening %s:%d',address.address,address.port);
});server.on('close', function(msg) {console.log('server has been closed %s',msg);
});server.bind(20000);

自启动脚本

#!/bin/bash
#
# node      Start up node server daemon
#
# chkconfig: 345 85 15
# description: Forever for Node.js
#
PATH=/usr/bin
DEAMON=/path/to/vls/vls.js
LOG=/var/log/vls
PID=/var/run/vls.pidcase "$1" instart)forever start -l $LOG/vls.log -o $LOG/vls_out.log -e $LOG/vls_err.log --pidFile $PID -a $DEAMON;;stop)forever stop --pidFile $PID $DEAMON;;stopall)forever stopall --pidFile $PID;;restartall)forever restartall --pidFile $PID;;reload|restart)forever restart -l $LOG/vls.log -o $LOG/vls_out.log -e $LOG/vls_err.log --pidFile $PID -a $DEAMON;;list)forever list;;*)echo "Usage: /etc.init.d/vls {start|stop|restart|reload|stopall|restartall|list}"exit 1;;
esac
exit 0

数据库(索引自己加)

create table vls (id bigint(20) auto_increment primary key, ip char(15) not null default '',type1 int(8) not null default 0,type2 binary(8) not null default '\0\0\0\0\0\0\0\0',msg char(576) not null default '',dateline timestamp not null default CURRENT_TIMESTAMP);

更深入的分析请自行脑补

用nodejs自创飞鱼星日志服务器记录日志相关推荐

  1. nginx日志通过rsyslog传入到日志服务器指定目录

    V5配置语法: 推送端设置 [root@nginx01 ~]# cat /etc/rsyslog.conf # rsyslog v5 configuration file # For more inf ...

  2. RHEL5 下使用syslog-ng构建集中型日志服务器

    RHEL5 下使用syslog-ng构建集中型日志服务器 在生产环境中,存在一台日志服务器,专门用来记录其他服务器的日志信息是个很好的主意,不过用红帽自带的syslog,配置虽然简单,但是日志却没有办 ...

  3. Linux日志服务器的搭建

    目录 一. 日志的简介及作用: 二.了解日志: (1)日志文件分类:/var/log/ (2)日志管理服务:管理和记录日志文件 vim /etc/rsyslog.conf (3) 日志记录的日志级别: ...

  4. 用freebsd搭建日志服务器

    在比较大规模的网络应用或者对安全有一定要求的应用中,通常需要对系统的日志进行记录分类并审核,默认情况下,每个系统会在本地硬盘上记录自己的日志,这样虽然也能有日志记录,但是有很多缺点:首先是管理不便,当 ...

  5. 网站用户行为日志采集和后台日志服务器搭建

    原文地址: 网站用户行为日志采集和后台日志服务器搭建 1.简介 网站流量数据统计分析,可以帮助网站管理员.运营人员.推广人员等实时获取网站流量信息,并从流量来源.网站内容.网站访客特性等多方面提供网站 ...

  6. Linux日志选项详解及日志服务器的实现

    Linux日志服务器的实现   一:基本概念 1: 软件包 syslogd 2: /etc/syslog.conf 配置文件 格式:facility.level action (设备. 优先级动作) ...

  7. 华为日志服务器文档,免费日志服务器

    免费日志服务器 内容精选 换一换 主机和云服务的日志数据,不方便查阅并且会定期清空.云日志服务采集日志后,日志数据可以在云日志控制台以简单有序的方式展示.方便快捷的方式进行查询,并且可以长期存储.对采 ...

  8. nodejs php web,nodejs实现的简单web服务器功能示例

    本文实例讲述了nodejs实现的简单web服务器功能.分享给大家供大家参考,具体如下: 前端js代码: $.ajax({ url:'http://192.168.0.114:3000',//服务器地址 ...

  9. 华为 日志服务器 配置文件,配置日志服务器

    配置日志服务器 内容精选 换一换 您可以通过云日志服务,查看访问七层共享型负载均衡请求的详细日志记录,分析负载均衡的响应状态码,快速定位异常的后端服务器.您已经创建了七层负载均衡.您已经开通了云日志服 ...

最新文章

  1. TensorFlow优化器及用法
  2. NGS的测序仪和相关技术时间轴 NGS相关数据库和项目时间轴
  3. 《战狼2》电影观后感
  4. mysql悲观锁 更新_MySQL学习笔记(四)悲观锁 for update
  5. 电脑换ip_代理ip地址怎么换
  6. 执行点击事件,第一次点击后,一切正常,第二次点击,执行两次,以此类推
  7. dubbo 分组后,dubbo-admin 看不到服务
  8. 以中划线开头正则表达式_正则表达式 汉字、数字、字母、横杠
  9. 【转】VC2008 配置OpenGL环境
  10. 服装智能制造开启服装企业信息化建设
  11. Shapley Values
  12. e430c参数 thinkpad_联想ThinkPad E430c(33651E1)
  13. Allegro模块镜像详细操作教程
  14. 2020蚂蚁森林自动收能量-保持更新
  15. 51单片机实训day2——创建Proteus工程以及Proteus基本控件的使用|单片机最小系统电路设计:电源配置 复位电路 晶振电路
  16. 什么是证券投资基金?
  17. 美国政府正在亲手扼杀互联网创新
  18. Vue 添加时间轴 vue-light-timeline
  19. 物联网的安全问题引起争论,这些威胁有待解决...
  20. qsql 关联_QT之QSqlTableModel与tableview的使用

热门文章

  1. 网银U盾潜在安全漏洞之忧
  2. Power bi 超市经典案例之销售分析(一)
  3. 新仙魔九界研发及设计分析
  4. 给你的文章起一个有意义的标题
  5. 微信红包照片来了,用变色龙隐形二维码赚点零花钱
  6. between and写法
  7. 如何批量删除文件夹名中相同的前缀?
  8. 观察者模式,即发布-订阅模式
  9. “群箱乱舞”的背后,我们从京东叮咚了解到什么?
  10. 【Excel】根据条件输出不同列相减的结果