以太坊操作系统安装(以太坊操作视频)

&1网卡优化# Set ring buf size, see max with ethool -g eth0ethtool -G eth0 rx 4096 tx 4096# Turn off feat

moloch数据的来源是交换机的镜像端口,moloch 系统主要涉及三个组件 Capture,elasticsearch 和 Viewer Capture 用来抓取 流量会以pcap的格式存储到硬盘上面,还会存一份对应关系到es中,Viewer提供web界面。

注意,以下所有安装及命令都是在root用户下进行的

moloch简介

Moloch是一款由 AOL 开源的,能够大规模的捕获IPv4数据包(PCAP)、索引和数据库系统

这是一台配置比较好的机器。所以我的Capture Machines和Elasticsearch Machines都放在一台上面, 有条件的强烈推荐把这2个组件分离开来

根据官方的文档有2个事情注意一下:

1 Moloch is no longer supported on 32 bit machines.

moloch不支持32位系统

2 Our deployment is on Centos 6 with the elrepo 4.x kernel upgrade for packet performance increases.

内核4.X 有助于抓包性能提升

首先将你的系统环境升级到最新版本(有好处也有坏处,可能某个软件包不支持最新,可能某个程序更新了下次就避免更新了)

我个人的版本:Linux xxxxxx.centos 3.10.0-862.11.6.el7.x86_64

查看系统版本的命令是:rpm -q centos-release

结果:centos-release-7-5.1804.4.el7.centos.x86_64

查看系统内核的命令是:uname -a

更新命令:yum -y update

moloch安装

首先去官网下载最新版本的 https://molo.ch/#downloads 工具 这里我选择是Nightly 版本 新的版本可能会有新的功能。

moloch安装命令

wget https://files.molo.ch/builds/centos-7/moloch-nightly.x86_64.rpm ##下载moloch

rpm -ivh moloch-nightly.x86_64.rpm ##安装moloch


#安装程序之前需要安装3个依赖的程序包
yum install -y perl-libwww-perl
yum install -y perl-JSON
yum install -y libyaml-devel
#然后才可以正常安装这个流量抓包工具哦。
rpm -ivh moloch-nightly.x86_64.rpm

pfring 安装

moloch的Capture 默认使用libpcap 后面我们会pfring 提升抓包性能

• cd /etc/yum.repos.d/

• yum install -y wget epel-release

• wget http://packages.ntop.org/centos/ntop.repo -O /etc/yum.repos.d/ntop.repo

• yum erase zeromq3 (Do this once to make sure zeromq3 is not installed)
• yum clean all
• yum update
• yum install pfring

elasticsearch 安装配置 (请直接参考ELK 官网 ES7.6.2安装)

es可以选择在配置moloch时候安装 也可以自己单独安装 我选择自己单独安装。

Es的下载地址:https://www.elastic.co/downloads/elasticsearch

这里我下载的是:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.1.rpm

首先是安装elasticsearch,命令是:

rpm -ivh elasticsearch-5.6.2.rpm

这里安装完后还需要设置一下,首先进入安装目录,如下图:

elasticsearch 进入设置目录

这里要设置一下虚拟内存,如果内存够大就多设置,小就少设置。如下:

elasticsearch 内存设置

[root@admin elasticsearch]# vim elasticsearch.yml#抓包经常会把硬盘用完,当硬盘使用空间到80% es 就开始报警 ,我直接把报警关掉的。cluster.routing.allocation.disk.threshold_enabled: falsenetwork.host: 0.0.0.0

编辑配置文件 config/elasticsearch.yml

network.host: 你自己的服务器ip #这里建议 0.0.0.0
http.port: 9200

这里呢还需要修改一下系统的设置,因为ES实在是太占内存等各个方面了,所以为了防止后续的问题。


#注意 这个“#”后的文字都是说明,没有#的是需要执行的命令或者填写的内容。
#第一步:修改 /etc/security/limits.conf 文件,增加配置,用户退出后重新登录生效
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535

#第二步:因为上方是针对所有用户的设置,这样会受系统限制,咱们还需要更改一下系统限制。
#修改/etc/security/limits.d/20-nproc.conf
* soft nproc 65535
root soft nproc unlimited

#第三步:还需要修改虚拟内存大小,修改/etc/sysctl.conf 文件在最后面追加下面内容 会永久生效
vm.max_map_count=262144
kernel.pid_max = 65535 #这个可填可不填

#第四步:使用 如下命令 第一个查看修改后的结果,第二个可多开文件数
sysctl -p
ulimit -n 65536

#第五步:防火墙永久增加端口让其他机器可以访问
#添加
firewall-cmd --zone=public --add-port=9200/tcp --permanent #(--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=8005/tcp --permanent #(这个是moloch的端口)
#重新载入
firewall-cmd --reload

全部设置完成查看一下启动状态,如果没启动则启动一下,查看的命令:

[root@admin elasticsearch]# systemctl status elasticsearch.service
● elasticsearch.service - Elasticsearch //注意前方的

如果是绿色代表已经启动了。 如果是纯黑色则是没启动状态需要启动。
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
Active: active (running) since 二 2018-09-25 15:13:32 CST; 1h 1min ago //注意这里,绿色running 代表启动状态 inactive (dead)代表没启动
Docs: http://www.elastic.co
Main PID: 3340 (java)
Tasks: 60
CGroup: /system.slice/elasticsearch.service
├─3340 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInit...
└─3425 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x...

9月 25 15:13:32 xxxxxx.centos systemd[1]: Started Elasticsearch.
9月 25 15:13:32 xxxxxx.centos systemd[1]: Starting Elasticsearch...

如果没有启动,则需要启动一下,启动的命令是:

systemctl start elasticsearch.service

然后访问一下:http://127.0.0.1:9200 看看有没有如下数据吧。

{
"name" : "WzEfPMg",
"cluster_name" : "shrimp-application",
"cluster_uuid" : "SwD0Y-VGQ_2BIqVuuny6Gg",
"version" : {
"number" : "6.4.1",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "e36acdb",
"build_date" : "2018-09-13T22:18:07.696808Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
} #如果有这些数据,那就OK了。可以继续了。

moloch设置

首先进入安装后的设置目录。

cd /data/moloch-nightly/bin/

然后 运行 ./Configure 会出现如下图:

moloch 设置 - 配置

第一个大的红方框“ens33”这里需要输入你自己对应的网卡。

第二个直接填写“no”即可。

第三个是你的elasticsearch服务器地址 一般默认本机或者你指定的地址 必须以http://开头

第四个是默认的登陆密码,这里设置为admin

最后一个是下载一些文件。直接“yes”即可。

--------这里给出命令行解释及样式------------

# 开始使用脚本配置moloch
[root@moloch db]# /data/moloch-nightly/bin/Configure
Found interfaces: bond0;em1;em2;em3;em4;lo
# 选择需要监控的网卡 也就是你的镜像流量对应的网卡 我的对应网卡是ens33
Semicolon ';' seperated list of interfaces to monitor [eth1] ens33
Install Elasticsearch server locally for demo, must have at least 3G of memory, NOT recommended for prod
# 写上es地址 万能地址 http://0.0.0.0:9200
Elasticsearch server URL [http://localhost:9200] http://0.0.0.0:9200
# 输入一个密码,我把密码设置成admin
Password to encrypt S2S and other things [no-default] admin
Moloch - Creating configuration files
Installing systemd start files, use systemctl
Moloch - Installing /etc/logrotate.d/moloch to rotate files after 7 days
Moloch - Installing /etc/security/limits.d/99-moloch.conf to make core and memlock unlimited
Moloch - Downloading GEO files
# 这个地方等待时间有点长,需要去下载下面的文件
2017-09-27 14:56:46 URL:https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.csv
2017-09-27 14:57:02 URL:http://www.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
2017-09-27 15:13:14 URL:http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz
2017-09-27 15:13:26 URL:http://www.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
2017-09-27 15:13:35 URL:http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz

# 5) Initialize/Upgrade Elasticsearch Moloch configuration
#注意这里,这里还要设置一些moloch的数据库链接地址哦。
[root@moloch db]# /data/moloch-nightly/db/db.pl http://0.0.0.0:9200 init
It is STRONGLY recommended that you stop ALL moloch captures and viewers before proceeding.

There is 1 elastic search data node, if you expect more please fix first before proceeding.

This is a fresh Moloch install
Erasing
Creating

Finished. Have fun!
Finished

#6) Add an admin user if a new install or after an init
#注意这里,这里可以给moloch添加管理员账号和密码 自己登陆的用户名、“别名随便写”、自己设定的登陆密码
[root@moloch db]# /data/moloch-nightly/bin/moloch_add_user.sh admin "Admin User" THEPASSWORD --admin

7) Start everything
#重启moloch的服务 合并为一条命令的格式是:systemctl restart molochcapture.service molochviewer.service

[root@moloch db]# systemctl restart molochcapture.service
[root@moloch db]# systemctl restart molochviewer.service

8) Look at log files for errors
/data/moloch/logs/viewer.log
/data/moloch/logs/capture.log
9) Visit http://molochhost:8005 with your favorite browser.
user: admin
password: password from step #6

最后启动moloch 命令是:systemctl start molochviewer.service molochcapture.service

然后就可以访问 ip:8005 开启你的旅行了。默认的账号是admin 密码是刚才填写的admin

你还可以添加属于你的管理员账号和密码:

sh /data/moloch-nightly/bin/moloch_add_user.sh <自己设置登陆的用户名> “别名随意定义” <自己设置登陆密码> --admin

sh /data/moloch-nightly/bin/moloch_add_user.sh admin “admin” <admin> --admin

数据删除

我现在的环境每天都有好几个T的数据包,es每天也有差不多200个G数据产生,所以当系统搭建起来后第一件事情 强烈推荐大家考虑数据的删除保留问题。

# 关于pcap的数据包 我是使用moloch来控制删除
[root@moloch ~]# vim /data/moloch-nightly/etc/config.ini
# moloch 默认是freeSpaceG = 5%,也就是磁盘空间会保留5%
freeSpaceG = 5%

# es使用moloch自带的脚本来控制删除
[root@moloch db]# vim daily.sh
#!/bin/sh
# This script is only needed for Moloch deployments that monitor live traffic.
# It drops the old index and optimizes yesterdays index.
# It should be run once a day during non peak time.
# CONFIG
ESHOSTPORT=10.100.10.7:9200
RETAINNUMDAYS=1
/data/moloch-nightly/db/db.pl $ESHOSTPORT expire daily $RETAINNUMDAYS

# 在做个定时任务 每天晚上跑一次
[root@moloch ~]# crontab -e
01 04 * * * /data/moloch-nightly/db/daily.sh >> /var/log/moloch/daily.log 2>&1

网卡优化

# Set ring buf size, see max with ethool -g eth0
ethtool -G eth0 rx 4096 tx 4096
# Turn off feature, see available features with ethtool -k eth0
ethtool -K eth0 rx off tx off gs off tso off gso off

High Performance Settings 高性能设置

# MOST IMPORTANT, use basic magicMode, libfile kills performance
magicMode=basic

# 官方说 pfring 效果更好
# pfring/snf might be better
pcapReadMethod=tpacketv3

# Increase by 1 if still getting Input Drops
tpacketv3NumThreads=2

# Defaults
pcapWriteMethod=simple
pcapWriteSize = 2560000

# Start with 5 packet threads, increase by 1 if getting thread drops
packetThreads=5

# Set to number of packets a second
maxPacketsInQueue = 200000

pfring 配置

# 什么鬼 官方又建议 先去尝试tpacketv3 不过我还是建议使用pfring
We suggest you try tpacketv3 first if available on the host

[root@moloch ~]# vim /data/moloch-nightly/etc/config.ini
rootPlugins=reader-pfring.so
pcapReadMethod=pfring

查看抓包

# 让我们先用命令看看 网卡接收流量
[root@moloch ~]# dstat -n
-net/total-
recv send
115M 1761k
112M 1238k
109M 168k
107M 1111k
110M 1695k
111M 1477k
107M 2305k

我们在来看看同一时间moloch中抓包数据量,因为都是动态数值,但是结果如此接近,是不是可以说千兆网卡下已经可以做到100% 数据包抓取 不信你去看pfring 官方文档

功能使用

看到这里的同学都应该是真爱了,下面开始满满都是福利啦

历史数据分析

你可以写一些 search expression 自由搭配检索你需要的信息,es作为支持速度就是快。

举个例子: 源ip == 10.101.26.60 and 协议是 http的 信息如下:

数据包导出

你要是更习惯用wireshark分析 ,没有问题 moloch导出pcap也是很方便的

推荐 time range : “00:00:01” , bounding: “last packet” 。moloch显示的是会话信息,bounding就很好理解了。

还有记得点一下 “matching items” 我的环境一秒钟 大概导出200M的数据量。

先确定一下时间 然后点一下 export pcap

然后开始 export pcap 就这么简单

Moloch - Configured - Now continue with step 4 in /data/moloch/README.txt

/sbin/start elasticsearch # for upstart/Centos 6/Ubuntu 14.04

systemctl start elasticsearch.service # for systemd/Centos 7/Ubuntu 16.04

5) Initialize/Upgrade Elasticsearch Moloch configuration

a) If this is the first install, or want to delete all data

/data/moloch/db/db.pl http://ESHOST:9200 init

b) If this is an update to moloch package

/data/moloch/db/db.pl http://ESHOST:9200 upgrade

6) Add an admin user if a new install or after an init

/data/moloch/bin/moloch_add_user.sh admin "Admin User" THEPASSWORD --admin

7) Start everything

a) If using upstart (Centos 6 or sometimes Ubuntu 14.04):

/sbin/start molochcapture

/sbin/start molochviewer

b) If using systemd (Centos 7 or Ubuntu 16.04 or sometimes Ubuntu 14.04)

systemctl start molochcapture.service

systemctl start molochviewer.service

8) Look at log files for errors

/data/moloch/logs/viewer.log

/data/moloch/logs/capture.log

9) Visit http://MOLOCHHOST:8005 with your favorite browser.

user: admin

password: THEPASSWORD from step #6

If you want IP -> Geo/ASN to work, you need to setup a maxmind account and the geoipupdate program.

See https://molo.ch/faq#maxmind

Any configuration changes can be made to /data/moloch/etc/config.ini

See https://molo.ch/faq#moloch-is-not-working for issues

Additional information can be found at:

* https://molo.ch/faq

* https://molo.ch/settings

参考文章:https://www.browserstyle.cn/blog/2019/07/16/Moloch%E7%BD%91%E7%BB%9C%E5%9B%9E%E6%BA%AF%E5%88%86%E6%9E%90%E7%B3%BB%E7%BB%9F.html

关键词: 以太坊
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 931614094@qq.com 举报,一经查实,本站将立刻删除。
以太坊操作系统安装(以太坊操作视频)文档下载: PDF DOC TXT