首页 > 系统相关 >Linux系统知识(十一)-Ubuntu使用TCP/UDP并限制最大连接数

Linux系统知识(十一)-Ubuntu使用TCP/UDP并限制最大连接数

时间:2023-04-16 23:24:00浏览次数:35  
标签:25 UDP 08 dev Jan 64 TCP Linux root1

一、Ubuntu使用TCP

1、使用TCP的命令:

  /dev/[tcp|upd]/host/port;例如::cat</dev/tcp/127.0.0.1/22

2、查看当前监听的端口

  -bash: connect: 拒绝连接

  -bash:/dev/[tcp|upd]/host/port: 拒绝连接

  例:

    -bash: connect: Connection refused
    -bash: /dev/tcp/127.0.0.1/223: Connection refused

3、ls -l /proc/self/fd/  # 列出当前进程正在使用的文件描述符有哪些

4、打开TCP通道

  下面这段代码:我们输入‘exec 8<>/dev/tcp/127.0.0.1/22

    root1@zserver:~$ exec 8<>/dev/tcp/127.0.0.1/22
    root1@zserver:~$ ls -l /proc/self/fd/
    total 0
    lrwx------ 1 root1 root1 64 Jan 25 08:14 0 -> /dev/pts/0
    lrwx------ 1 root1 root1 64 Jan 25 08:14 1 -> /dev/pts/0
    lrwx------ 1 root1 root1 64 Jan 25 08:14 2 -> /dev/pts/0
    lr-x------ 1 root1 root1 64 Jan 25 08:14 3 -> /proc/1883/fd
    lrwx------ 1 root1 root1 64 Jan 25 08:14 8 -> 'socket:[30628]'
    root1@zserver:~$

  注:第8行,文件描述符8,表示打开一个socket通讯通道,这个是一个可以读写socket通道,因为用:"<>"打开。结果提示返回的通道为[30628]。

5、关闭TCP通道

  exec 8>&-  #关闭通道

    root1@zserver:~$ exec 8>&
    -bash: syntax error near unexpected token `newline'
    root1@zserver:~$ exec 8>&-
    root1@zserver:~$ ls -l /proc/self/fd/
    total 0
    lrwx------ 1 root1 root1 64 Jan 25 08:36 0 -> /dev/pts/0
    lrwx------ 1 root1 root1 64 Jan 25 08:36 1 -> /dev/pts/0
    lrwx------ 1 root1 root1 64 Jan 25 08:36 2 -> /dev/pts/0
    lr-x------ 1 root1 root1 64 Jan 25 08:36 3 -> /proc/1928/fd
    root1@zserver:~$

二、限制最大连接数

1、限制TCP最大连接数

  1)改动前:ulimit -n=1024(每个进程能打开的文件描述符个数为1024)

  2)改动:/etc/security/limits.conf添加一下内容:

    1 * soft nofile 102400
    2 * hard nofile 102400

  3)改动后:ulimit -n变为102400(可以跑102400个)

2、端口地址范围限制(未达到想要的效果)

  由于端口地址是16位,所以,就算把这个端口地址范围修改为1024--65535,也最多能开启64521个连接,而我现在只有一台虚拟机作为客户端,所以想要实现10万连接是不可能了,但是通过这次测试,也让我搞明白了,到底哪些参数会限制连接的上限。

标签:25,UDP,08,dev,Jan,64,TCP,Linux,root1
From: https://www.cnblogs.com/qq2806933146xiaobai/p/17324401.html

相关文章

  • 第 14 章Linux 实操篇-进程管理(重点)
    第14章Linux实操篇-进程管理(重点)目录第14章Linux实操篇-进程管理(重点)14.1基本介绍14.2显示系统执行的进程14.2.1基本介绍14.2.2ps详解14.2.3应用实例14.1终止进程kill和killall14.3.1介绍:14.3.2基本语法14.3.3常用选项14.3.4最佳实践14.5服务(service)......
  • linux中安装nvm报错: /lib64/libm.so.6: version `GLIBC_2.28
    :/lib64/libm.so.6:version`GLIBC_2.27 #查看系统内安装的glibc版本strings/lib64/libc.so.6|grepGLIBC_解决cd/root#编译安装wgethttp://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gztarxfglibc-2.28.tar.gzcdglibc-2.28/&&mkdirbuild&&cdbuil......
  • Linux 基金会发布 2017 最佳 Linux 发行名单
    Linux 基金会官网Linux.com近日发布了一篇名为“2017年最佳Linux发行版”的文章,并表示这些是从数百个发行版中发现的最好的Linux发行版。1、最佳系统管理员发行版:ParrotLinux2、最近轻量级发行版:LXLE3、最佳桌面发行版:ElementaryOS4、最佳验证发行版:Gentoo......
  • Linux 基金会发布 2017 最佳 Linux 发行名单
    Linux 基金会官网Linux.com近日发布了一篇名为“2017年最佳Linux发行版”的文章,并表示这些是从数百个发行版中发现的最好的Linux发行版。1、最佳系统管理员发行版:ParrotLinux2、最近轻量级发行版:LXLE3、最佳桌面发行版:ElementaryOS4、最佳验证发行版:Gentoo......
  • Linux 基金会发布 2017 最佳 Linux 发行名单
    Linux 基金会官网Linux.com近日发布了一篇名为“2017年最佳Linux发行版”的文章,并表示这些是从数百个发行版中发现的最好的Linux发行版。1、最佳系统管理员发行版:ParrotLinux2、最近轻量级发行版:LXLE3、最佳桌面发行版:ElementaryOS4、最佳验证发行版:Gentoo......
  • 第 12 章Linux 实操篇-网络配置
    第12章Linux实操篇-网络配置目录第12章Linux实操篇-网络配置13.1Linux网络配置原理图13.1.1画出原理图,帮助理解13.2查看网络IP和网关13.2.1查看虚拟网络编辑器和修改IP地址13.2.2查看网关13.3查看windows环境的中VMnet8网络配置(ipconfig指令)13.4查看lin......
  • TCP三次握手和四次挥手
    文章目录TCP三次握手TCP四次挥手TCP三次握手序列号:建立连接时计算机随机生成的随机数作为初始值,通过SYN包传给接收端主机,每发送一次数据就累加一次该数据字节数的大小。用来解决网络包乱序问题。确认应答号:指下一次期望收到的数据的序列号,发送端收到这个确认应答以后认为在这个序......
  • Linux部署系统
    Linux安装Java环境1、在usr目录下建立java安装目录mkdir/usr/java2、将jdk-11.0.18_linux-x64_bin.tar.gz拷贝到java目录下jdk11下载地址:https://www.oracle.com/java/technologies/downloads/#java113、解压jdk到当前目录tar-zxvfjdk-11.0.18_linux-x64_bin.tar.gz4......
  • Linux驱动入门-最简单字符设备驱动(基于pc ubuntu)
    原文:https://blog.csdn.net/XiaoXiaoPengBo/article/details/128505550一.字符设备驱动概念字符设备是Linux驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、IIC、SPI,LCD等等都是字符......
  • FFmpeg开发笔记(一)搭建Linux系统的开发环境
    对于初学者来说,如何搭建FFmpeg的开发环境是个不小的拦路虎,因为FFmpeg用到了许多第三方开发包,所以要先编译这些第三方源码,之后才能给FFmpeg集成编译好的第三方库。不过考虑到刚开始仅仅调用FFmpeg的API,不会马上去改FFmpeg的源码,因此只要给系统安装编译好的FFmpeg动态库,即可着手编写......