如何正确且高效实现OSSIM中文化的解决方案(图文详解)
前言
对于玩OSSIM的初学者或者中级水平的从业人员来说,都有一定必要性从中文看起,当然,最终还是英文的目标迈进,只是说,为了让自己更快速上手!
虽然系统说明支持中文,实际上,只是台湾的繁体中文而已。为此,对于我们大陆从小使用简单体的中文而言,就很有必要性了。
网上有些博文说修改为UTF-8,有些博文说修改为gb2312 等。这里我给大家纠正下,无需这么做,保持为UTF-8即可。 (这是规范专业化)
当然,你也可以去修改为gb2312也行得通,但是不建议。
下载请到
http://download.csdn.net/download/u010106732/10139060

以下为OSSIM web界面的菜单汉化步骤:

第一步:为系统安装 gettext
首先是进入OSSIM的管理后台,用SSH登录后,进入 系统AlienVault Setup菜单,选择Jailbreak this Appliance即可 使用Root权限进入后台 , 运行 apt-get update , 运行 apt-get install gettext 上述命令如成功运行,进入第2步修改本地化。
假如发生错误,尝试运行alienvault-update更新系统后再 重新运行上述命令安装gettext 系统更新命令:alienvault-update --verbose --feed

ossim410:~# apt-get install gettext
Running /usr/bin/apt-get install gettext
Reading package lists... Done
Building dependency tree
Reading state information... Done
gettext is already the newest version.
gettext set to manually installed.
upgraded, newly installed, to remove and not upgraded.
第二步:修改本地化
运行命令:dpkg-reconfigure locales , 弹出下面菜单

ossim410:~# dpkg-reconfigure locales

按键盘PageUp 或 Pagedown 来上下翻页,寻找到 en_US 及 zh_ 开头的 local,使用 space 空格键来选中相应的 locale,如下图我分别选中了 en_US 开头的几个locale及 zh_ 开头的几个locale
改为 
改为 
按tab键,选中ok,Enter回车

然后,设置系统默认本地化:en_US.UTF-8或zh_CN.UTF-8

我这里选择 en_US.UTF-8, tab后选中ok,Enter回车
至此,系统会生成相应支持的locale。
得到

ossim410:~# dpkg-reconfigure locales
locales-all installed, skipping locales generation
*** update-locale: Warning: LANGUAGE ("en_HK:en") is not compatible with LANG (zh_CN.UTF-). Disabling it.
You have new mail in /var/mail/root
ossim410:~#
出现这个,别怕,忽略它既可。
第三步:添加VIM对于UTF-8的支持
vi /etc/vim/vimrc
行尾添加
set encoding=utf8
set fileencodings=ucs-bom,gbk,gb2312,gb18030,utf-8,latin1

同时指定自己的远程登录时字体编码为UTF-8 。
第四步:替换原有ossim.po文件,以支持系统简体中文,即上传 ossim.po 文件至 OSSIM Server
因为,玩过OSSIM的朋友知道,刚入门也许对于新手的你来说,只是在自己电脑装个虚拟机跑个单机的OSSIM,但是,对于企业级来说,都是玩分布式的OSSIM,所以就有OSSIM Server的说法了。

下载请到
http://download.csdn.net/download/u010106732/10139060


备份原来的po文件
mv ossim.po ossim_back.po
备份原来的mo文件
mv ossim.mo ossim_back.mo
将制作好的ossim.po文件放回到/usr/share/locale/zh_CN/LC_MESSAGES/目录(之前做好备份)

ossim410:~# cd /usr/share/locale/zh_CN/LC_MESSAGES/
ossim410:/usr/share/locale/zh_CN/LC_MESSAGES# ls
Linux-PAM.mo bfd.mo debconf.mo dpkg.mo gettext-runtime.mo grub.mo libapt-pkg4..mo lynx.mo nano.mo ossim.po sed.mo tasksel.mo
adduser.mo binutils.mo debian-tasks.mo e2fsprogs.mo gettext-tools.mo kbd.mo libc.mo make.mo newt.mo popt.mo shadow.mo util-linux-ng.mo
apt.mo coreutils.mo dialog.mo findutils.mo gnupg.mo ld.mo libgnutls26.mo man-db-gnulib.mo opcodes.mo psmisc.mo sysstat.mo wget.mo
aptitude.mo cpio.mo diffutils.mo gawk.mo grep.mo libapt-inst1..mo libpq5-8.4.mo man-db.mo ossim.mo python-apt.mo tar.mo xkeyboard-config.mo
ossim410:/usr/share/locale/zh_CN/LC_MESSAGES# mv ossim.po ossim_back.po
ossim410:/usr/share/locale/zh_CN/LC_MESSAGES# ls
Linux-PAM.mo bfd.mo debconf.mo dpkg.mo gettext-runtime.mo grub.mo libapt-pkg4..mo lynx.mo nano.mo ossim_back.po sed.mo tasksel.mo
adduser.mo binutils.mo debian-tasks.mo e2fsprogs.mo gettext-tools.mo kbd.mo libc.mo make.mo newt.mo popt.mo shadow.mo util-linux-ng.mo
apt.mo coreutils.mo dialog.mo findutils.mo gnupg.mo ld.mo libgnutls26.mo man-db-gnulib.mo opcodes.mo psmisc.mo sysstat.mo wget.mo
aptitude.mo cpio.mo diffutils.mo gawk.mo grep.mo libapt-inst1..mo libpq5-8.4.mo man-db.mo ossim.mo python-apt.mo tar.mo xkeyboard-config.mo
ossim410:/usr/share/locale/zh_CN/LC_MESSAGES#


ossim410:/usr/share/locale/zh_CN/LC_MESSAGES# pwd
/usr/share/locale/zh_CN/LC_MESSAGES
ossim410:/usr/share/locale/zh_CN/LC_MESSAGES# ls
Linux-PAM.mo binutils.mo dialog.mo gawk.mo grub.mo libc.mo man-db-gnulib.mo ossim.mo python-apt.mo tasksel.mo
adduser.mo coreutils.mo diffutils.mo gettext-runtime.mo kbd.mo libgnutls26.mo man-db.mo ossim.po sed.mo util-linux-ng.mo
apt.mo cpio.mo dpkg.mo gettext-tools.mo ld.mo libpq5-8.4.mo nano.mo ossim_back.po shadow.mo wget.mo
aptitude.mo debconf.mo e2fsprogs.mo gnupg.mo libapt-inst1..mo lynx.mo newt.mo popt.mo sysstat.mo xkeyboard-config.mo
bfd.mo debian-tasks.mo findutils.mo grep.mo libapt-pkg4..mo make.mo opcodes.mo psmisc.mo tar.mo
ossim410:/usr/share/locale/zh_CN/LC_MESSAGES#
再用msgfmt,重新生成ossim.mo文件
cd /usr/share/locale/zh_CN/LC_MESSAGES/
msgfmt -o ossim.mo ossim.po
或者
msgfmt ossim.po -o ossim.mo

如果运行msgfmt命令出错,通常为编码问题,解决方法 之一就是维持ossim.po文件第17行的charset为UTF-8,不要 修改为gb2312或其他编码。
第五步:让 php 强制编码为 utf-8
这个步骤很重要,我之前参考网上教程后普遍存在的问题 是二级菜单都能汉化,但是顶部的一级菜单老是出现乱码。解 决方法其实就是一行代码 bind_textdomain_codeset()
cd /usr/share/ossim/inclue/classes
进入这个目录 , vi locale.inc 打开locale.inc 这个文件
在文件底部,第116行添加一行代码 bind_textdomain_codeset($domain,”utf-8”); (因为版本不同有点区别)
或者 在文件底部,第116行添加一行代码 bindtextdomain($domain,”utf-8”);
如下图所示:

改为

有的人版本也许是如下:

第六步:让 apach 支持 utf-8 编码
cd /etc/apach2/conf-available
vi charset
注意,有些人的博客写的是charset.conf其实是版本的不同罢了。
添加 AddDefaultCharset UTF-8 ,或者移除前面的# ,去掉注释。如下图所示。

ossim410:/etc/apache2/conf.d# ls
charset default-ntop.conf localized-error-pages munin nagios3.conf ntop-192.168.80.41.conf ocsinventory.conf ocsreports.conf ossim.conf other-vhosts-access-log security xajax.conf
ossim410:/etc/apache2/conf.d# vim charset

然后运行 /etc/init.d/apache2 restart 来重启apache服务器。

ossim410:/etc/apache2/conf.d# /etc/init.d/apache2 restart
Restarting web server: apache2[Thu Nov 30 11:24:46 2017] [warn] NameVirtualHost *:80 has no VirtualHosts
... waiting [Thu Nov 30 11:24:48 2017] [warn] NameVirtualHost *:80 has no VirtualHosts
.
ossim410:/etc/apache2/conf.d#
第七步: 修改系统语言
登陆ossim UI控制台,通常为
在 Configuration Administration Users下选择Chinese Simplifed 。
修改浏览器的编码为 UTF-8 编码,Chrome浏览器选择 编码方法为 Settings,More Tools, Encoding,UTF-8 。
至此,大功告成!!!!
具体如下:
最后登录OSSIM,在用户的profile中选择Chinese simplified。系统自动生效。






第八步:验证

成功!
同时,大家可以关注我的个人博客:
http://www.cnblogs.com/zlslch/ 和 http://www.cnblogs.com/lchzls/ http://www.cnblogs.com/sunnyDream/
详情请见:http://www.cnblogs.com/zlslch/p/7473861.html
人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获
对应本平台的讨论和答疑QQ群:大数据和人工智能躺过的坑(总群)(161156071)






如何正确且高效实现OSSIM中文化的解决方案(图文详解)的更多相关文章
- 批处理中的echo命令图文详解
批处理中的echo命令图文详解 1. Echo 显示当前ECHO的状态:ECHO ON 或者ECHO OFF 2. ECHO ON 将ECHO状态设置为ON,将显示命令行,也就是前面的C:\>类 ...
- 基于CentOS6.5下如何正确安装和使用Tcpreplay来重放数据(图文详解)
前期博客 基于CentOS6.5下snort+barnyard2+base的入侵检测系统的搭建(图文详解)(博主推荐) tcpreplay是什么? 简单的说, tcpreplay是一种pcap包的重放 ...
- IDEA中 Debug 调试工具(图文详解)
DEBUG调试工具 一. Debug 调试工具 1. Debug的作用 2. Debug的使用步骤 3. IDEA中Debug按钮详解 总结 参考博文:https://blog.csdn.net/qq ...
- Vmware workstation12里如何正确快速安装可视化IDS系统Security Onion(图文详解)
不多说,直接上干货! 首先,大家要明确: 问:安全洋葱能阻止入侵吗? 答:这一点,和OSSIM一样,不能阻止入侵. Security Onion基于Ubuntu,包含了入侵检测.网络安全监控.日志管理 ...
- UWP开发之Mvvmlight实践一:如何在项目中添加使用Mvvmlight(图文详解)
最近一直在做UWP开发,为了节省成本等等接触到MVVMlight,觉得有必要发点时间研究它的用法与实现原理才行.如果有问题的地方或者有好的建议欢迎提出来. 随着移动开发的热门,Mvvmlight在An ...
- 如何正确删除VMare虚拟机上的系统机器(图文详解)
不多说,直接上干货! 打开虚拟机进入操作系统列表 在操作系统列表,点击要删除的操作系统,如win7, 点击要删除的操作系统后,在主菜单中找到虚拟机. 如图所示,从磁盘中彻底删除. 是 即,成功从虚拟机 ...
- 全网最全的Windows下Anaconda2 / Anaconda3里正确下载安装用来定时任务apscheduler库(图文详解)
不多说,直接上干货! Anaconda2 里 PS C:\Anaconda2\Scripts> PS C:\Anaconda2\Scripts> pip.exe install apsc ...
- ECharts概念学习系列之ECharts官网教程之在 webpack 中使用 ECharts(图文详解)
不多说,直接上干货! 官网 http://echarts.baidu.com/tutorial.html#%E5%9C%A8%20webpack%20%E4%B8%AD%E4%BD%BF%E7%94% ...
- struts.xml 文件中的 namespace 属性图文详解
namespace:名称空间.默认值是""(空字符串). 名称空间+动作名称:构成了动作的访问路径
随机推荐
- Koa源码分析(一) -- generator
Abstract 本系列是关于Koa框架的文章,目前关注版本是Koa v1.主要分为以下几个方面: 1. Koa源码分析(一) -- generator 2. Koa源码分析(二) -- co的实现 ...
- 实战操作——通过wireshark查看任意qq好友IP
今天有群里好友问我如何查看别人IP,查IP这个东西对于一些刚入门的小白来说可能是一个比较高大上的玩意,但是实际上只需一个网络协议分析工具就OK,废话不多说,下面开始实践 实验对象:任意QQ好友 操作工 ...
- HTTP协议 与 TCP协议 的区别
TCP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据. TCP/IP和HTTP协议的关系,从本质上来说,二者没有可比性,我们在传输数据时,可以只使用(传输 ...
- 第48章:MongoDB-备份和恢复
①文件系统快照(snapshot) 生成文件系统快照这个方法需要满足两个条件: 1:文件系统本身支持快照技术 2:运行mongod时必须开启日记系统 其恢复就是快照的恢复,当然,恢复的时候,确保mon ...
- TestNG(一)
1.环境搭建 2.框架结构 3.数据驱动 4.监听器 5.重试逻辑 6.异常测试 7.并发测试
- Missing initializer in const declaration
这是一个 JS 的报错. 如果你要声明一个常量,必须要赋初值.否则就会报错. 比如这样就可以触发这个报错: const foo; 或者 const bar = xxx; 等号右侧由于拼写失误导致的js ...
- 关于CSS层叠机制
谈到层叠机制,首先我们要知道什么是声明冲突. 声明冲突有三个条件:①多个选择器选中同一个元素:②声明块里的属性相同:③属性的属性值不同.同时满足这三点时就会产生声明冲突.比如下图html代码: < ...
- Hibernate知识总结(一)
一.ORM ORM的全称是Object/Relation Mapping,即对象/关系映射,可以将其理解成一种规范,它概述了这类框架的基本特征:完成面向对象的编程语言到关系数据库的映射.可以把ORM看 ...
- day20_雷神_django第三天
django第三天 动态路由,实现统一删除功能 urls url(r'^host_del/(host|user|group)/(\d+)$',views.host_del,name='del'), t ...
- DevOps最佳工具集实践
在列出DevOps 工具链之前,介绍一下什么是DevOps,虽然DevOps这个概念现在还没有标准的定义,但我们可以追溯一下其过去九年的历史发展过程(从2009年-2017年),列出几个相对明确又有所 ...