如何正确且高效实现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:名称空间.默认值是""(空字符串). 名称空间+动作名称:构成了动作的访问路径
随机推荐
- 关于Hbuild引用mui常用代码块以及部分控件.
MUI-最接近原生APP体验的高性能前端框架, 追求性能体验,是我们开始启动MUI项目的首要目标,轻量必然是重要特征: MUI不依赖任何第三方JS库,压缩后的JS和CSS文件仅有100+K和60+K, ...
- Chapter5_初始化与清理_成员初始化
在java中,成员初始化在使用之前应该都要保证已经完成初始化.对于在方法体中的局部变量,如果没有使用指定初始化的方法对成员变量进行初始化,编译器会提示一个错误.而对于类的数据成员,编译器会对这些成员赋 ...
- Parsing error was found in mapping #{}. Check syntax #{property|(expression), var1=value1, var2=val错误
xml中有一个语法错误,整个都错了, 虽然只调用了select查询的方法,但是update中也有语法错误
- javaean(web作业)
javabean简介: javabean是java语言开发的可重用组件,在jsp中使用javabean可以减少代码的重复量,使代码简洁. 他的优点: 1.可将HTML和Java代码分离,这主要是为了日 ...
- ubuntu安装spyder和jupyter notebook
ubuntu安装spyder和jupyter notebook 安装spyder 安装spyder sudo apt install spyder sudo apt install spyder3 安 ...
- 【洛谷P2584】【ZJOI2006】GameZ游戏排名系统题解
[洛谷P2584][ZJOI2006]GameZ游戏排名系统题解 题目链接 题意: GameZ为他们最新推出的游戏开通了一个网站.世界各地的玩家都可以将自己的游戏得分上传到网站上.这样就可以看到自己在 ...
- Leetcode11 Container With Most Water 解题思路 (Python)
今天开始第一天记录刷题,本人编程小白,如果有写的不对.或者能更完善的地方请个位批评指正! 准备按tag刷,第一个tag是array: 这个是array的第一道题:11. Container With ...
- access纯jdbc连接
Class.forName("com.hxtt.sql.access.AccessDriver"); String url = "jdbc:Access:///c:/a/ ...
- Quick_sort
typedef int ElementType; void Quick_sort(ElementType A[], int N) { Quicksort(A, , N-); } void Quicks ...
- 【webpack】-- 自动刷新与解析
前端需要频繁的修改js和样式,且需要根据浏览器的页面效果不断的做调整:而且往往我们的开发目录和本地发布目录不是同一个,修改之后需要发布一下:另外一点就是并不是所有的效果都可以直接双击页面就能看到,我们 ...