Linux TCP连接数查询

1 tcp连接查看

netstat -anput

2 统计连接数
2.1统计80端口的连接数
 netstat -nat|grep -i "80"|wc -l
2.2统计总连接数
netstat -nat|wc -l
2.3统计已连接上的,状态为established
netstat -na|grep ESTABLISHED|wc -l
3 统计所有请求状态及数量
netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

TIME_WAIT 8947 等待足够的时间以确保远程TCP接收到连接中断请求的确认

FIN_WAIT1 15 等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN_WAIT2 1 从远程TCP等待连接中断请求

ESTABLISHED 55 代表一个打开的连接

SYN_RECV 21 再收到和发送一个连接请求后等待对方对连接请求的确认

CLOSING 2 没有任何连接状态

LAST_ACK 4 等待原来的发向远程TCP的连接中断请求的确认

TCP连接状态详解 

LISTEN: 侦听来自远方的TCP端口的连接请求

SYN-SENT: 再发送连接请求后等待匹配的连接请求

SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认

ESTABLISHED: 代表一个打开的连接

FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2: 从远程TCP等待连接中断请求

CLOSE-WAIT: 等待从本地用户发来的连接中断请求

CLOSING: 等待远程TCP对连接中断的确认

LAST-ACK: 等待原来的发向远程TCP的连接中断请求的确认

TIME-WAIT: 等待足够的时间以确保远程TCP接收到连接中断请求的确认

CLOSED: 没有任何连接状态

4 查看那个ip连接最多
netstat -anput | grep "ESTABLISHED" | awk '{print $5}'| awk -F: '{print $1}' | uniq | sort -n

5 限制访问
5.1限制最大的连接数

当访问80端口的连接数达到100后,开始限制为最多允许每分钟25个链接(防止cc攻击) 

iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT


限制单个ip的并发访问(防止cc攻击) 

iptables -I INPUT -p tcp --dport 85 -s 192.168.1.8 -m connlimit --connlimit-above 10 -j REJECT

流量均衡

将访问流量分流至内网三台不同主机: 

iptables -A PREROUTING -i eth1 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT -to-destination 172.27.8.10
iptables -A PREROUTING -i eth1 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT -to-destination 172.27.8.20
iptables -A PREROUTING -i eth1 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet
6 保存配置
通过iptables配置防火墙立即生效。iptables防火墙配置在重启后就失效了,解决方法如下:
6.1 将配置写入文件
sudo iptables-save > /etc/iptables.rules
6.2 网卡启动和关闭时自动加载和保存配置

编辑/etc/network/interfaces文件,添加如下内容:

pre-up iptables-restore < /home/user/iptables.rules
post-down iptables-save > /home/user/iptables.rules
pre-up: 网卡启用前的动作
up: 启用时候的动作
post-up: 启用后的动作
pre-down: 关闭前的动作
down: 关闭时动作
post-down: 关闭后动作 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/589132.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 应用问题解决——缓存穿透、缓存击穿、缓存雪崩、分布式锁

缓存穿透 key对应的数据在数据源不存在&#xff0c;每次针对此key的请求从缓存获取不到&#xff0c;请求都会压到数据源&#xff0c;从而可能压垮数据源。比如用一个不存在的用户id获取用户信息&#xff0c;不论缓存还是数据库都没有&#xff0c;若黑客利用此漏洞进行攻击可能…

JavaSE:抽象类和接口

目录 一、前言 二、抽象类 &#xff08;一&#xff09;抽象类概念 &#xff08;二&#xff09;使用抽象类的注意事项 &#xff08;三&#xff09;抽象类的作用 三、接口 &#xff08;一&#xff09;接口概念 &#xff08;二&#xff09;接口语法规则 &#xff08;三&a…

Keil不能生成.bin文件,解决方法

脚本&#xff1a; D:\ProgramFiles\Keil_v5\ARM\ARM5.06\bin\fromelf.exe --bin --outputBin\keyboard.bin ..\..\Output\keyboard.axf 说明&#xff1a; fromelf.exe --bin --outputBin\keyboard.bin ..\..\Output\keyboard.axf 通过生成后的keyboard.axf&#xff0c; 执行f…

Loadrunner的使用

Loadrunner的使用 选项公网测试地址&#xff1a;http://cfgjt.cn:8981/devt-web 用户名admin&#xff0c;密码11111111 1.Loadrunner介绍 ​ LoadRunner&#xff0c;是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查…

坦克大战_java源码_swing界面_带毕业论文

一. 演示视频 坦克大战_java源码_swing界面_带毕业论文 二. 实现步骤 完整项目获取 https://githubs.xyz/y22.html 部分截图 启动类是 TankClinet.java&#xff0c;内置碰撞检测算法&#xff0c;线程&#xff0c;安全集合&#xff0c;一切皆对象思想等&#xff0c;是java进阶…

SSTI模板注入(jinja2)

前面学习了SSTI中的smarty类型&#xff0c;今天学习了Jinja2&#xff0c;两种类型都是flask框架的&#xff0c;但是在注入的语法上还是有不同 SSTI&#xff1a;服务器端模板注入&#xff0c;也属于一种注入类型。与sql注入类似&#xff0c;也是通过凭借进行命令的执行&#xff…

【MySQL】事务是什么?事务的特性又是什么?

文章目录 ✍事务是什么&#xff1f;✍事务的特性&#xff08;四个&#xff09;✍事务并发时出现的问题✍事务的隔离性 ✍事务是什么&#xff1f; 事务是由一个或多个SQL语句构成的&#xff0c;在事务中&#xff0c;这些的SQL不可分割&#xff0c;是一个整体&#xff0c;整个事…

tsv、csv、xls等文件类型区别及处理(python版)

目录 前言 介绍 tsv、csv、txt的区别 读取/生成 不同格式数据文件&#xff08;python&#xff09; 一、读取/生成csv数据文件 二、读取/生成txt数据文件 三、读取/生成tsv数据文件 四、读取/生成xls数据文件 不同文件格式转化 总结 前言 考虑到进行机器学习、深度学习…

关于 ulimit 的两个天坑

稍微有点 Linux 经验的人一定会遇到过 “Too many open files” 错误&#xff0c;这个错误本质是 ulimit 设置不合理导致的。关于 ulimit 设置&#xff0c;有哪些需要注意的点呢&#xff1f;本文给大家做一个介绍&#xff0c;希望对大家有所帮助。 如何确认 ulimit 设置生效了…

【数据库系统工程师】软考2024年5月报名流程及注意事项

2024年5月软考数据库系统工程师报名入口&#xff1a; 中国计算机技术职业资格网&#xff08;http://www.ruankao.org.cn/&#xff09; 2024年软考报名时间暂未公布&#xff0c;考试时间上半年为5月25日到28日&#xff0c;下半年考试时间为11月9日到12日。不想错过考试最新消息…

freeRTOS学习

总结 1.总结任务调度算法之间的区别 调度算法&#xff1a;抢占式调度&#xff1a;优先级高的任务可以打断低优先级任务的执行&#xff0c;适用于不同优先级任务的执行。 时间片轮换&#xff1a;分配时间片&#xff08;1ms&#xff09;&#xff0c;时间片耗尽时&#xff0c;任…

C语言_第一轮笔记_指针

8.1 密码开锁 地址和指针 一般以变量所在的内存单元的第一个字节的地址作为他的地址NULL的值为0&#xff0c;代表空指针 指针变量的定义 类型名 *指针变量名类型名指定指针变量所指向变量的类型指针声明符*在定义指针变量时被使用&#xff0c;说明被定义的那个变量是指针指针变…