Linux 详细配置 Net-SNMPv3 与获取SNMP数据

简单网络管理协议(SNMP) 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。
SNMP(简单网络管理协议)是基于UDP端口161,为管理站使用UDP端口162。

Linux 详细配置 Net-SNMPv3 与获取SNMP数据
CentOS Fedora
yum -y install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils
或者
yum install -y net-snmp*

配置文件 /etc/snmp/snmpd.conf ,清空( vi编辑器键入dGi )所有内容后填入以下内容

Net-SNMPv2的配置信息
#192.99.12.76为数据收集服务器ip,yonghumima为snmp密码(community)
com2sec yonghuming 192.99.12.76 yonghumima
group yonghuzu v2c yonghuming
access yonghuzu "" any noauth prefix all none none
view all included .1 80

启动服务
chkconfig --add snmpd;chkconfig snmpd on;
-------
Ubuntu Debian
apt-get install snmp snmpd
配置文件 /etc/snmp/snmpd.conf

配置 Net-SNMPv3,创建用户密码
service snmpd stop #先停止snmp的运行

我们这里创建一个一个snmpv3用户,位只读,使用MD5加密传输,用户名为yonghuming,密码为yonghumima。
#net-snmp-config --create-snmpv3-user -ro -A yonghumima -a MD5 yonghuming
(The supplied password length is too short.)
adding the following line to /var/lib/net-snmp/snmpd.conf:
createUser yonghuming MD5 "yonghumima" DES
adding the following line to /etc/snmp/snmpd.conf:
rouser yonghuming

service snmpd restart
cat /var/lib/net-snmp/snmpd.conf #账户密码存放文件
...
usmUser 1 3 0x80001f8880549a357563fd815700000000 "yonghuming" "yonghuming" NULL .1.3.6.1.6.3.10.1.1.2 0x6454631b1ce32f299000d5170b431cba .1.3.6.1.6.3.10.1.2.2 0x6454631b1ce32f299000d5170b431cba ""
...

检测 Net-SNMPv3账户密码
#snmpwalk -v 3 -u yonghuming -a MD5 -A "yonghumima" -l authNoPriv 127.0.0.1 sysDescr

设计防火墙,允许数据通过
iptables -I INPUT -p udp --dport 161 -j ACCEPT
service iptables save;service iptables restart

删除或者修改默认密码
sed -i 's@^com2sec notConfigUser default public@com2sec notConfigUser default@' /etc/snmp/snmpd.conf #删除密码

重启服务
service snmpd restart

获取snmp数据
#snmpwalk -v 3 -u yonghuming -a MD5 -A "yonghumima" -l authNoPriv 122.9.44.224 sysDescr
SNMPv2-MIB::sysDescr.0 = STRING: Linux 3.10.0-327.22.2.el7.x86_64 #1 SMP Thu Jun 23 17:05:11 UTC 2016 x86_64

#snmpwalk -v 3 -u yonghuming -a MD5 -A "yonghumima" -l authNoPriv 122.9.44.224 .1 #获取所有数据

当cacti设备状态一直是不可用的时候,可以Create Graphs for this Host

修改Nginx源码,使header头信息伪装成其他页面服务器软件

nginx_header
Nginx 修改源码,header 头信息伪装成其他服务器软件

wget http://nginx.org/download/nginx-1.10.1.tar.gz
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1

1、修改编译nginx核心文件

vim ./src/core/nginx.h

/*
* Copyright (C) Igor Sysoev
* Copyright (C) Nginx, Inc.
*/

#ifndef _NGINX_H_INCLUDED_
#define _NGINX_H_INCLUDED_

#define nginx_version 1006002 #这里最好不要乱改,某些扩展模块编译时,会检测版本,可能会出现错误,如lua_nginx_module
#define NGINX_VERSION "1.6.2" #这里随便改个版本号
#define NGINX_VER "squid/" NGINX_VERSION #这里改成我们想要的名字

#define NGINX_VAR "squid" #这里也一并修改
#define NGX_OLDPID_EXT ".oldbin"