Linux TCP连接数查询

这篇具有很好参考价值的文章主要介绍了Linux TCP连接数查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 tcp连接查看

netstat -anput

Linux TCP连接数查询,linux,tcp/ip,服务器

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]}'

Linux TCP连接数查询,linux,tcp/ip,服务器

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

Linux TCP连接数查询,linux,tcp/ip,服务器

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: 关闭后动作 文章来源地址https://www.toymoban.com/news/detail-847030.html

到了这里,关于Linux TCP连接数查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一台linux服务器最多能支持多少个TCP连接?(要区分客户端还是服务端)

    参考大佬文章: 一台机器最多能撑多少个TCP连接? 今天掰扯清楚! 这个问题要分场景,先说下结论: 客户端: 最多支持TCP连接数 = IP数 * 端口数 = IP数 * 65535 ,其中的IP数是由于linux下可以配置多IP 服务端:取决于linux服务器的内存大小, 内存数 / 静默TCP连接所占大小 3.3k ,

    2024年02月09日
    浏览(44)
  • Linux网络编程之TCP/IP实现高并发网络服务器设计指南

    目录 引言: 多进程服务器 例程分享: 多线程服务器  例程分享: I/O多路复用服务器 select 例程分享: poll 例程分享: epoll 例程分享: 总结建议         随着互联网的迅猛发展,服务器面临着越来越多的并发请求。如何设计一个能够高效处理大量并发请求的服务器成为

    2024年02月20日
    浏览(44)
  • Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论

    我们使用Linux作为服务器操作系统时,为了达到高并发处理能力,充分利用机器性能,经常会进行一些内核参数的调整优化,但不合理的调整常常也会引起意想不到的其他问题,本文就一次Linux服务器丢包故障的处理过程,结合Linux内核参数说明和TCP/IP协议栈相关的理论,介绍

    2024年02月11日
    浏览(41)
  • Linux socket 搭建TCP服务器(C语言)

    ​ 在标题之前,先提几个问题,方便下次查看理解。 什么是TCP TCP服务器需要用到哪些函数 如何简单的搭建一个TCP服务器 ​ TCP 是一种传输层协议,可以提供可靠的数据传输服务。它是面向连接的,具有可靠性、流量控制、拥塞控制以及双工通信的特点。 1. socket ​ socket 作

    2024年04月17日
    浏览(27)
  • linux服务器 tcp高并发压测需要设置项

    linux服务器部署了一个tcp服务,需要进行并发压力测试  看看服务器能支持多少个tcp长连接   预计会有50w个连接 需要设置linux 不然是无法支持这么多连接的   如果达到这个值是无法建立新连接的  报错信息一般为  too many open files   1 ,  fs.file-max linux系统能打开的文件句柄

    2024年04月10日
    浏览(31)
  • Linux 基于 TCP 协议的简单服务器-客户端应用

    目录 一、相关函数  1、listen() 2、accept() 3、connect()  4、两种IP地址转换方式  5、TCP和UDP数据发送和接收函数对比 5、log.hpp自定义记录日志 二、udp_server.hpp单进程版本 三、tcp_server.cc 四、Telnet客户端(代替tcp_client.cc) 五、多进程实现udp_server.hpp 1、多进程版本一 2、tcp_client.

    2024年04月27日
    浏览(37)
  • Linux下TCP网络服务器与客户端通信程序入门

    实现客户端连接服务器,通过终端窗口发送信息给服务器端,服务器接收到信息后对信息数据进行回传,客户端读取回传信息并返回。 服务器当前IP地址要知道 建立socket 绑定本地IP地址并设置端口号 知道服务器的IP地址和端口号 然后进行连接

    2024年02月14日
    浏览(48)
  • 【Linux网络编程】网络编程套接字(TCP服务器)

    作者:爱写代码的刚子 时间:2024.4.4 前言:本篇博客主要介绍TCP及其服务器编码 只介绍基于IPv4的socket网络编程,sockaddr_in中的成员struct in_addr sin_addr表示32位 的IP地址 但是我们通常用点分十进制的字符串表示IP地址,以下函数可以在字符串表示和in_addr表示之间转换 字符串转in

    2024年04月14日
    浏览(53)
  • 【Linux后端服务器开发】封装线程池实现TCP多线程通信

    目录 一、线程池模块 Thread.h LockGuard.h ThreadPool.h 二、任务模块模块 Task.h 三、日志模块 Log.h 四、守护进程模块 Deamon.h  五、TCP通信模块 Server.h Client.h server.cpp client.cpp 关于TCP通信协议的封装,此篇博客有详述: 【Linux后端服务器开发】TCP通信设计_命运on-9的博客-CSDN博客 线程池

    2024年02月16日
    浏览(35)
  • Linux服务器中查询IP地址五个方法

    在网络上查找IP地址的基本方法是手动网络扫描--自己使用原生操作系统功能扫描网络。而保证连接安全的基本方法是通过使用10.0.0.1路由器登录指南、用户名和密码。使用现代windows操作系统中的IP地址查询工具进行IP地址查询,最常用的行使方法是以下五种命令。 1、PING 使用

    2023年04月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包