[svc]容器网络学习索引及网络监控

时间:2023-03-09 02:28:54
[svc]容器网络学习索引及网络监控

[svc]容器网络学习索引及网络监控

整理的可能有些误失,抽时间在细细的分类完善下. 发现这篇对于网络从低到高层协议整理的还不错

每层都有一些有意思的话题

一些协议有一些设计上的弱点, 所以产生了种种的网络层安全问题

一般我们学一些

  • 1,以太网2的数据格式
  • 2,ip 数据格式
  • 3,tcp/udp数据格式 .玩明白这些后,会晚一些有用

网络里有意思的大概有这些.

二层的广播,arp(代理arp,免费arp)

ip层的ping的ttl(多窗口ping回包问题(win给所有包统一编号/unix每个窗口进程号)), mtu分片

基于ip的icmp(1,端口不可达 2,目标不可达u,回包可告知到哪里unreachable,可关. 默认路由+ping不存在的ip) RTT(对端收到后将时间戳原本拷贝到数据包回传) ping的频率也可以被限制

tcp层的端口号
udp的traceroute程序(ttl递增 不是我,回icmp超时, 是我回icmp端口不可达): 参考: http://www.freebuf.com/articles/network/118221.html
dns/tftp/语音视频 必有有趣的有代理(不算arp代理了),如ccproxy或一些ss等原理 可能会感兴趣一些https vpn 内网穿透啊 这类

参考: frp工具实现内网穿透

[tcp的13]

TCP半连接与SYN攻击

TCP连接的“三次握手”与“四次挥手”

可以发现一些协议的弱点.这个工具钻了一些协议的空子.

yersinia

dhcp防爆防御

监控web连接数(tcp的11种状态)

跟着zabbix使用脚本监控(包含里面的参考链接)溜一遍,zabbix的本末就在脑海里有个影子了.

高性能web要求监控:

  • 系统监控: 一般系统安装完毕,需要加入zabbix,

    [svc]容器网络学习索引及网络监控

  • 网络监控: smokping/站长工具 监控宝/听云/安全宝/流量宝/易日志

  • 应用监控: 需要监控他的端口,及系统总的tcp的的11种状态, 每个app的tcp连接状态.

原来zabbix监控进程与端口是如此的简单!

Zabbix监控(十二):自动监控Linux端口

Zabbix监控端口服务TCP连接状态

[svc]容器网络学习索引及网络监控

网络基础

文字标题 链接
二三层数据格式&&三层数据如何匹配路由 http://www.cnblogs.com/iiiiher/p/8081252.html
arp协议的细枝末节 http://www.cnblogs.com/iiiiher/p/8085415.html
dhcp细枝末节 http://www.cnblogs.com/iiiiher/p/8080314.html
gns3模拟器及探讨几个bgp问题 http://www.cnblogs.com/iiiiher/p/8075349.html

docker&k8s网络原理

文字标题 链接
docker4种网络最佳实战 http://www.cnblogs.com/iiiiher/p/8047114.html
k8s pod的3种网络模式最佳实战 http://www.cnblogs.com/iiiiher/p/8051947.html

二层网络

文字标题 链接
linux的ip命令操作接口和路由表 http://www.cnblogs.com/iiiiher/p/8056930.html
通过bridge连接单机的多个网络namespace http://www.cnblogs.com/iiiiher/p/8057922.html
linux下网桥-docker网桥 http://www.cnblogs.com/iiiiher/p/8052974.html
macvlan最佳实战: http://www.cnblogs.com/iiiiher/p/8059032.html
macvlan实现双vlan互通 http://www.cnblogs.com/iiiiher/p/8067226.html

三层网络

文字标题 链接
linux iptables实战 http://www.cnblogs.com/iiiiher/p/8066036.html
docker网络-直接路由模式 http://www.cnblogs.com/iiiiher/p/8065415.html
linux上vxlan实战 http://www.cnblogs.com/iiiiher/p/8082779.html
docker自带的overlay网络实战 http://www.cnblogs.com/iiiiher/p/8120300.html
使用quaaga实现(rip ospf)实现主机间容器互通 http://www.cnblogs.com/iiiiher/p/8076257.html
docker calico网络&docker cluster-store http://www.cnblogs.com/iiiiher/p/8110617.html

附: edis-memcached-nginx-tcp11监控脚本

参考

具体集成到zabbix,参考

$ cat zabbix_linux_plugins.sh

#!/bin/bash
############################################################
# $Name: zabbix_linux_plugins.sh
# $Version: v1.2
# $Function: zabbix plugins
# $Author: Maotai
# $organization: http://www.cnblogs.com/iiiiher/
# $Create Date: 2018-03-03
# $Description: Monitor Linux Service Status
############################################################
tcp_status_fun(){
TCP_STAT=$1
#netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,state[key]}' > /tmp/netstat.tmp
ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > /tmp/netstat.tmp
TCP_STAT_VALUE=$(grep "$TCP_STAT" /tmp/netstat.tmp | cut -d ' ' -f2)
if [ -z $TCP_STAT_VALUE ];then
TCP_STAT_VALUE=0
fi
echo $TCP_STAT_VALUE
} nginx_status_fun(){
NGINX_PORT=$1
NGINX_COMMAND=$2
nginx_active(){
/usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
nginx_reading(){
/usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
nginx_writing(){
/usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
nginx_waiting(){
/usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
nginx_accepts(){
/usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
nginx_handled(){
/usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
nginx_requests(){
/usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
case $NGINX_COMMAND in
active)
nginx_active;
;;
reading)
nginx_reading;
;;
writing)
nginx_writing;
;;
waiting)
nginx_waiting;
;;
accepts)
nginx_accepts;
;;
handled)
nginx_handled;
;;
requests)
nginx_requests;
esac
} memcached_status_fun(){
M_PORT=$1
M_COMMAND=$2
echo -e "stats\nquit" | nc 127.0.0.1 "$M_PORT" | grep "STAT $M_COMMAND " | awk '{print $3}'
} redis_status_fun(){
R_PORT=$1
R_COMMAND=$2
(echo -en "INFO \r\n";sleep 1;) | nc 127.0.0.1 "$R_PORT" > /tmp/redis_"$R_PORT".tmp
REDIS_STAT_VALUE=$(grep ""$R_COMMAND":" /tmp/redis_"$R_PORT".tmp | cut -d ':' -f2)
echo $REDIS_STAT_VALUE
} main(){
case $1 in
tcp_status)
tcp_status_fun $2;
;;
nginx_status)
nginx_status_fun $2 $3;
;;
memcached_status)
memcached_status_fun $2 $3;
;;
redis_status)
redis_status_fun $2 $3;
;;
*)
echo $"Usage: $0 {tcp_status key|memcached_status key|redis_status key|nginx_status key}"
esac
} main $1 $2 $3

各种攻击类型

[svc]容器网络学习索引及网络监控

https://mochazz.github.io/2017/09/11/DDOS1/

[svc]容器网络学习索引及网络监控

各类泛洪攻击-华为文档