在Linux系统中,系统调用是操作系统提供给应用程序使用操作系统服务的重要接口,但同时也正是通过系统调用机制,操作系统屏蔽了用户直接访问系统内核的可能性。幸运的是Linux提供了LKM机制可以使我们在内核空间工作,在LKM机制中一个重要的组成部分就是proc伪文件系统,它为用户提供了动态操作Linux内核信息的接口,是除系统调用之外另一个重要的Linux内核空间与用户空间交换数据的途径。
而proc/net/dev就是提供给用户读取或更改网络适配器及统计信息的途径。
cat /proc/net/dev
- bytes: The total number of bytes of data transmitted or received by the interface.(接口发送或接收的数据的总字节数)
- packets: The total number of packets of data transmitted or received by the interface.(接口发送或接收的数据包总数)
- errs: The total number of transmit or receive errors detected by the device driver.(由设备驱动程序检测到的发送或接收错误的总数)
- drop: The total number of packets dropped by the device driver.(设备驱动程序丢弃的数据包总数)
- fifo: The number of FIFO buffer errors.(FIFO缓冲区错误的数量)
- frame: The number of packet framing errors.(分组帧错误的数量)
- colls: The number of collisions detected on the interface.(接口上检测到的冲突数)
- compressed: The number of compressed packets transmitted or received by the device driver. (This appears to be unused in the 2.2.15 kernel.)(设备驱动程序发送或接收的压缩数据包数)
- carrier: The number of carrier losses detected by the device driver.(由设备驱动程序检测到的载波损耗的数量)
- multicast: The number of multicast frames transmitted or received by the device driver.(设备驱动程序发送或接收的多播帧数)
UDP:
命令:cat /proc/net/snmp | grep Udp
InDatagrams:udp收包量
NoPorts: packets to unknown port received(未知端口接收数据包)
InErrors: RFC4113描述:本机端口未监听之外的其他原因引起的UDP入包无法送达(应用层)目前主要包含如下几类原因: 1.收包缓冲区满 2.入包校验失败 3.其他
OutDatagrams: udp发包量
RcvbufErrors: 接收缓冲区溢出的包量
SndbufErrors: 发送缓冲区溢出的包
TCP:
命令:cat /proc/net/snmp | grep Tcp
RtoAlgorithm :
RtoMin :
RtoMax :
MaxConn :
ActiveOpens: 服务器主动连接的TCP请求数
PassiveOpens :服务器接收到的TCP请求数
AttemptFailsEstabResets :TCP连接失败个数(AttemptFails)包含:主动连接失败收到syn包回包syn+ack给对方后,被对方reset收到的请求中,同时有syn+rst flag
CurrEstab :TCP当前建立连接的个数
InSegs :TCP接收的分片数
OutSegs :TCP发送的分片数
RetransSegs : 重传分片数
InErrs :TCP入包错误(pkg/m,通常是校验错误)
OutRsts :
TCP重传率 =重传分片数 / TCP发送的分片数
关注下:DDOS攻击
服务器的攻击分为四类,cc攻击、syn攻击、udp攻击、tcp洪水攻击。那么当被攻击时会出现哪些症状呢,我们是如何来判断服务器是否被攻击,属于哪种攻击类型?
第一种类型:CC类攻击
A.网站出现service unavailable提示
B.CPU占用率很高
C.网络连接状态:netstat –na,若观察到大量的ESTABLISHED的连接状态 单个IP高达几十条甚至上百条
D.外部无法打开网站,软重启后短期内恢复正常,几分钟后又无法访问。
第二种类型:SYN类攻击
A.CPU占用很高
B.网络连接状态:netstat –na,若观察到大量的SYN_RECEIVED的连接状态
第三种类型:UDP类攻击
A.观察网卡状况 每秒接受大量的数据包
B.网络状态:netstat –na TCP信息正常
第四种类型:TCP洪水攻击
A.CPU占用很高
B.netstat –na,若观察到大量的ESTABLISHED的连接状态 单个IP高达几十条甚至上百条