centos发包 centos镜像下载
大家好,关于centos发包很多朋友都还不太明白,今天小编就来为大家分享关于centos镜像下载的知识,希望对各位有所帮助!
CentOS下TCP断线监测详解
TCP正常的断开,通信双方(服务端和客户端)都是能知道的。但是非正常的断开,比如直接拔掉了网线,就只能靠如下两种方法,实现短时间内的检测。
一,心跳包机制
心跳包机制,是网游设计中的常用机制。从用户层面,自己发包去判断对方连线状态。可以根据情况,很灵活的使用。比如,20秒发送一个最小的数据包(也可以根据实际情况稍带一些其他数据)。如果发送没有回应,就判断对方掉线了。
二,利用tcp_keepalive机制
利用TCP的机制,通过设置系统参数,从系统层面,监测tcp的连接状态。以下为linux下的方法:
1,首先查看系统tcp_keepalive相关参数(centos和Ubuntu)
# sysctl-a|grep tcp_keepalive
显示如下:
net.ipv4.tcp_keepalive_intvl= 75
net.ipv4.tcp_keepalive_probes= 9
net.ipv4.tcp_keepalive_time= 7200
分别说一下这三个参数:
tcp_keepalive_time参数:
是指TCP发送keepalive消息的频度,默认为7200秒,也就是两个小时。
keepalive_intvl参数:
当探测没有确认时,重新发送探测的频度。默认是75秒。
keepalive_probes参数:
在认定连接失效之前,发送多少个TCP的keepalive探测包。默认值是9次。
--------------------------------------------------------------------
2,修改系统的tcp_keepalive相关参数
在知道以上三个系统参数的定义和作用之后,我们来修改一下这三个参数:
修改/etc/sysctl.conf文件:
# vi/etc/sysctl.conf
在打开的文件中,加入如下三行:
net.ipv4.tcp_keepalive_intvl= 1
net.ipv4.tcp_keepalive_probes= 1
net.ipv4.tcp_keepalive_time= 5
保存文件。
--------------------------------------------------------------------
3,重启服务器。
# reboot
附注:或者临时使系统设置生效也行:# sysctl-p
--------------------------------------------------------------------
4,修改程序代码部分。
注意:仅仅配置内核参数是不够的,还必须在编程的时候设置套接字的选项,调用函数是
socket.setsockopt(level, optname, value)
示例:
level为SOL_SOCKET的话,选项为SO_KEEPALIVE,值为布尔。
socket.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, True)
此外还可以设置TCP选项(设置的level为SOL_TCP而不是SOL_SOCKET)覆盖系统全局设置
TCP_KEEPCNT与tcp_keepalive_probes对应
TCP_KEEPIDLE与tcp_keepalive_time对应
TCP_KEEPINTVL与tcp_keepalive_intvl对应
--------------------------------------------------------------------
玩转tcpdump解决Centos7环境抓包难题
网络数据采集分析工具 Tcpdump
借助 host参数筛选特定主机
1. Tcpdump选项详解
基于IP地址过滤:通过 host参数指定特定IP进行筛选
-根据源IP筛选
-根据目标IP筛选
基于网段过滤:net参数用于指定特定网段
对于同一网段,可细分为源网段和目标网段
基于端口过滤:port参数用于指定特定端口筛选
端口可再细分为源端口与目标端口
同时指定多个端口或端口段简化筛选
使用协议名代替端口号筛选特定协议
如 http对应 80,https对应 443
基于协议过滤:proto参数用于筛选常见协议,如 tcp、udp、icmp等
查看 ICMP包时,直接使用 icmp
protocol参数值包括:ip、ip6、arp、rarp等
输出抓取数据至文件:使用-w参数生成 pcap文件
结合 wireshark分析数据
读取 pcap文件使用-r参数
过滤与分析结合使用
提取 HTTP用户代理:从请求头筛选
提取用户代理与主机名:使用 egrep同时筛选
找出发包最多的IP:统计分析筛选
抓取 DNS请求与响应:通过端口筛选
切割 pcap文件:自动管理大文件
按小时创建新文件:避免数据过大覆盖旧文件
CentOS下千兆网卡带宽测试详解
iperf是一个基于C/S模型的纯带宽测试软件,可以测试网卡的吞吐量。
iperf的好处是纯粹发包和接收,防止硬盘拖后腿,影响测试结果。
本文以千兆网卡Bcom 5720进行测试,环境CentOS 6.4 x64
在两台机器上分别安装iperf
yuminstalliperf--enablerepo=epel
在其中一台以服务端方式启动,并开放防火墙5001端口
iperf-s-i 1-w 448k
启动结果如下:
Server listening on TCP port 5001
TCP window size: 448 KByte
在另一台上,以客户端方式连接到服务端,测试10分钟
iperf-c 10.10.10.22-i 1-w 448k-t 600
此时,服务端会显示如下信息
[ 4]local10.10.10.22 port 5001 connected with 10.10.10.11 port 56251
[ ID] Interval Transfer Bandwidth
[ 4] 0.0- 1.0 sec 112 MBytes 941 Mbits/sec
[ 4] 1.0- 2.0 sec 112 MBytes 941 Mbits/sec
[ 4] 2.0- 3.0 sec 112 MBytes 941 Mbits/sec
[ 4] 3.0- 4.0 sec 112 MBytes 941 Mbits/sec
[ 4] 4.0- 5.0 sec 112 MBytes 941 Mbits/sec
[ 4] 5.0- 6.0 sec 112 MBytes 941 Mbits/sec
[ 4] 6.0- 7.0 sec 112 MBytes 941 Mbits/sec
[ 4] 7.0- 8.0 sec 112 MBytes 941 Mbits/sec
客户端信息则是
3] 46.0-47.0 sec 112 MBytes 942 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 47.0-48.0 sec 112 MBytes 941 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 48.0-49.0 sec 112 MBytes 942 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 49.0-50.0 sec 112 MBytes 941 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 50.0-51.0 sec 112 MBytes 942 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 51.0-52.0 sec 112 MBytes 941 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 52.0-53.0 sec 112 MBytes 941 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 53.0-54.0 sec 112 MBytes 942 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 54.0-55.0 sec 112 MBytes 941 Mbits/sec
以上信息显示,当前网卡传输速度约为940Mbit/s,接近理论速度1G/s,下载速度112M/s,也接近理论速度125M/s,通过cacti带宽监控,也显示上述统计结果。
至此,千兆网卡验明正身。
补充说明,影响带宽的可能原因有很多:
1、交换机是百兆的,通信枢纽
2、千兆网卡工作在百兆模式,参与测试的机器任意一台工作在百兆都不行
3、用真实的硬盘文件进行测试,硬盘速度拖后腿