linux端口连接数,linux杀死端口
大家好,今天小编来为大家解答以下的问题,关于linux端口连接数,linux杀死端口这个很多人还不知道,现在让我们一起来看看吧!
有人说linux的TCP连接数量最大不能超过65535个吗,是真的吗
linux的TCP连接数量最大不能超过65535个,这种说法是错误的。
一、TCP最大连接数和端口数量没有必然联系
TCP连接是服务器IP端口和客户端IP端口组成的,对于服务器而言,一般一个服务器只监听一个端口,而客户端是可以不计其数的。一个连接由一个5元组决定(protocol,local IP,local port,remote ip,remote port),对于TCP,protocol固定是TCP,还有四个元素。对于服务器来说,local port一般是固定的,比如HTTP(80),但是remote ip和remote port没有限制。也就是说,可以有百万千万的并发。如果并发量能达到百万千万量级,那么不会只有一个服务器,一般都会是一个服务集群。
二、TCP连接数是和内存正成比的
客户端和服务器建立的每个TCP连接都会占用服务器内存,所以最大TCP连接数和内存成正比。简单估算为最大内存除以单TCP连接占用的最小内存。
三、linux对tcp数量限制是为了文件管理方便
1、Linux操作系统中,一切都是文件。所以每个TCP连接,都会打开一个文件。为此Linux操作系统限制了每个用户能打开的文件数量,通过ulimit-n查看。当然,我们也可以对此进行修改,修改方式如下:
vi/etc/security/limits.conf文件,在文件中添加如下行(限制修改为10240):
speng soft nofile 10240
speng hard nofile 10240
2、Linux操作系统对所有用户最大能打开文件的限制:cat/proc/sys/fs/file-max。
3.网络核心模块对tcp连接的限制(最大不能超过65535)。
4、防火墙管理策略也会对tcp连接数量进行限制。
基于以上的原因,在Linux操作系统中,对TCP连接数量的限制依次有:端口数量限制,网络核心限制,最大文件数量限制(因为每建立一个连接就要打开一个文件),防火墙限制,用户打开文件限制。但并不存在65535这个数量限制。
查看linux中的TCP连接数
1)统计80端口连接数
2)统计httpd协议连接数
3)、统计已连接上的,状态为“established
4)、查出哪个IP地址连接最多,将其封了.
1、查看apache当前并发访问数:
对比httpd.conf中MaxClients的数字差距多少。
2、查看有多少个进程数:
3、可以使用如下参数查看数据
统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。
表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整。
4341
netstat-an会打印系统当前网络链接状态,而grep-i"80"是用来提取与80端口有关的连接的,wc-l进行连接数统计。
最终返回的数字就是当前所有80端口的请求总数。
netstat-an会打印系统当前网络链接状态,而grep ESTABLISHED提取出已建立连接的信息。然后wc-l统计。
最终返回的数字就是当前所有80端口的已建立连接的总数。
查看Apache的并发请求数及其TCP连接状态:
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:没有任何连接状态
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的
SYN_RECV表示正在等待处理的请求数;
ESTABLISHED表示正常数据传输状态;
TIME_WAIT表示处理完毕,等待超时结束的请求数。
查看Apache并发请求数及其TCP连接状态
查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):
返回结果示例:
1388
表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整,我这组服务器中每台的峰值曾达到过2002。
查看Apache的并发请求数及其TCP连接状态:
返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。
状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉
vim/etc/sysctl.conf
编辑文件,加入以下内容:
net.ipv4.tcp_syncookies= 1
net.ipv4.tcp_tw_reuse= 1
net.ipv4.tcp_tw_recycle= 1
net.ipv4.tcp_fin_timeout= 30
然后执行/sbin/sysctl-p让参数生效。
net.ipv4.tcp_syncookies= 1表示开启SYN cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse= 1表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle= 1表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout修改系统默认的 TIMEOUT时间
客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口
状态为TIME_WAIT
是不是所有执行主动关闭的socket都会进入TIME_WAIT状态呢?
有没有什么情况使主动关闭的socket直接进入CLOSED状态呢?
主动关闭的一方在发送最后一个 ack后
就会进入 TIME_WAIT状态停留2MSL(max segment lifetime)时间
这个是TCP/IP必不可少的,也就是“解决”不了的。
也就是TCP/IP设计者本来是这么设计的
主要有两个原因
1。防止上一次连接中的包,迷路后重新出现,影响新连接
(经过2MSL,上一次连接中所有的重复包都会消失)
2。可靠的关闭TCP连接
在主动关闭方发送的最后一个 ack(fin),有可能丢失,这时被动方会重新发
fin,如果这时主动方处于 CLOSED状态,就会响应 rst而不是 ack。所以
主动方要处于 TIME_WAIT状态,而不能是 CLOSED。
TIME_WAIT并不会占用很大资源的,除非受到攻击。
还有,如果一方 send或 recv超时,就会直接进入 CLOSED状态
如何合理设置apache httpd的最大连接数?
手头有一个网站在线人数增多,访问时很慢。初步认为是服务器资源不足了,但经反复测试,一旦连接上,不断点击同一个页面上不同的链接,都能迅速打开,这种现象就是说明apache最大连接数已经满了,新的访客只能排队等待有空闲的链接,而如果一旦连接上,在keeyalive的存活时间内(KeepAliveTimeout,默认5秒)都不用重新打开连接,因此解决的方法就是加大apache的最大连接数。
1.在哪里设置?
apache 2.24,使用默认配置(FreeBSD默认不加载自定义MPM配置),默认最大连接数是250
在/usr/local/etc/apache22/httpd.conf中加载MPM配置(去掉前面的注释):
Include etc/apache22/extra/httpd-mpm.conf
可见的MPM配置在/usr/local/etc/apache22/extra/httpd-mpm.conf,但里面根据httpd的工作模式分了很多块,哪一部才是当前httpd的工作模式呢?可通过执行 apachectl-l来查看:
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
看到prefork字眼,因此可见当前httpd应该是工作在prefork模式,prefork模式的默认配置是:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
2.要加到多少?
连接数理论上当然是支持越大越好,但要在服务器的能力范围内,这跟服务器的CPU、内存、带宽等都有关系。
查看当前的连接数可以用:
ps aux| grep httpd| wc-l
或:
pgrep httpd|wc-l
计算httpd占用内存的平均数:
ps aux|grep-v grep|awk'/httpd/{sum+=$6;n++};END{print sum/n}'
由于基本都是静态页面,CPU消耗很低,每进程占用内存也不算多,大约200K。
服务器内存有2G,除去常规启动的服务大约需要500M(保守估计),还剩1.5G可用,那么理论上可以支持1.5 1024 1024*1024/200000= 8053.06368
约8K个进程,支持2W人同时访问应该是没有问题的(能保证其中8K的人访问很快,其他的可能需要等待1、2秒才能连上,而一旦连上就会很流畅)
控制最大连接数的MaxClients,因此可以尝试配置为:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 5500
MaxClients 5000
MaxRequestsPerChild 100
</IfModule>
注意,MaxClients默认最大为250,若要超过这个值就要显式设置ServerLimit,且ServerLimit要放在MaxClients之前,值要不小于MaxClients,不然重启httpd时会有提示。
重启httpd后,通过反复执行pgrep httpd|wc-l来观察连接数,可以看到连接数在达到MaxClients的设值后不再增加,但此时访问网站也很流畅,那就不用贪心再设置更高的值了,不然以后如果网站访问突增不小心就会耗光服务器内存,可根据以后访问压力趋势及内存的占用变化再逐渐调整,直到找到一个最优的设置值。
(MaxRequestsPerChild不能设置为0,可能会因内存泄露导致服务器崩溃)
更佳最大值计算的公式:
apache_max_process_with_good_perfermance<(total_hardware_memory/ apache_memory_per_process)* 2
apache_max_process= apache_max_process_with_good_perfermance* 1.5
附:
实时检测HTTPD连接数:
watch-n 1-d"pgrep httpd|wc-l"
linux端口连接数限制linux端口连接
linux电脑设置端口号?
1、查看哪些端口被打开netstat-anp。
2、关闭端口号:iptables-AINPUT-ptcp--drop端口号-jDROP,iptables-AOUTPUT-ptcp--dport
端口号-jDROP。
3、打开端口号:iptables-AINPUT-ptcp--dport端口号-jACCEPT。
4、以下是linux打开端口命令的使用方法。nc-lp22(打开22端口,即telnet),netstat-an|grep22(查看是否打开22端口)。
5、linux打开端口命令每一个打开的端口。
关闭端口号:iptables-AINPUT-ptcp--drop端口号-jDROP,iptables-AOUTPUT-ptcp--dport
端口号-jDROP。
扩展资料:
liunx常见端口详细说明:
1、端口:7
服务:Echo
说明:能看到许多人搜索Fraggle放大器时,发送到X.X.X.0和X.X.X.255的信息。
2、端口:21
服务:FTP
说明:FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马DolyTrojan、Fore、InvisibleFTP、WebEx、WinCrash和BladeRunner所开放的端口。
3、端口:22
服务:Ssh
说明:PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞
存在。
4、端口:23
服务:Telnet
说明:远程登录,入侵者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到机器运行的操作系统。还有使用其他技术,入侵者也会找到密码。木马TinyTelnetServer就开放这个端口。
5、端口:25
服务:SMTP
说明:SMTP服务器所开放的端口,用于发送邮件。入侵者寻找SMTP服务器是为了传递他们的SPAM。入侵者的帐户被关闭,他们需要连接到高带宽的E-MAIL服务器上,将简单的信息传递到不同的地址。木马Antigen、EmailPasswordSender、HaebuCoceda、ShtrilitzStealth、WinPC、WinSpy都开放这个端口。
6、端口:53
服务:DomainNameServer(DNS)
说明:DNS服务器所开放的端口,入侵者可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其他的通信。因此防火墙常常过滤或记录此端口。
7、端口:80
服务:HTTP
说明:用于网页浏览。木马Executor开放此端口。
8、端口:102
服务:Messagetransferagent(MTA)-X.400overTCP/IP
说明:消息传输代理。
9、端口:110
服务:pop3
说明:POP3(PostOfficeProtocol
服务器开放此端口,用于接收邮件,客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登陆前进入系统。成功登陆后还有其他缓冲区溢出错误。
10、端口:137、138、139
服务:NETBIOSNameService
说明:其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口:通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINSRegisrtation也用它。
11、端口:143
服务:InterimMailAccessProtocolv2
说明:和POP3的安全问题一样,许多IMAP服务器存在有缓冲区溢出漏洞。
记住:一种LINUX蠕虫(admv0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已经被感染的用户。当REDHAT在他们的LINUX发布版本中默认允许IMAP后,这些漏洞变的很流行。这一端口还被用于IMAP2,但并不流行。
12、端口:161
服务:SNMP
说明:SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。
SNMP包可能会被错误的指向用户的网络。
13、端口:389
服务:LDAP、ILS
说明:轻型目录访问协议和NetMeetingInternetLocatorServer共用这一端口。
14、端口:443
服务:Https
说明:网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。
15、端口:993
服务:IMAP
说明:SSL(SecureSocketslayer)
16、端口:1433
服务:SQL
说明:Microsoft的SQL服务开放的端口。
17、端口:1503
服务:NetMeetingT.120
说明:NetMeetingT.120
18、端口:1720
服务:NetMeeting
说明:NetMeetingH.233callSetup。
19、端口:1731
服务:NetMeetingAudioCallControl
说明:NetMeeting音频调用控制。
20、端口:3389
服务:超级终端
说明:WINDOWS2000终端开放此端口。
21、端口:4000
服务:QQ客户端
说明:腾讯QQ客户端开放此端口。
22、端口:5631
服务:pcAnywere
说明:有时会看到很多这个端口的扫描,这依赖于用户所在的位置。当用户打开pcAnywere时,它会自动扫描局域网C类网以寻找可能的代理(这里的代理是指agent而不是proxy)。入侵者也会寻找开放这种服务的计算机。所以应该查看这种扫描的源地址。一些搜寻pcAnywere的扫描包常含端口22的UDP数据包。
23、端口:6970
服务:RealAudio
说明:RealAudio客户将从服务器的6970-7170的UDP端口接收音频数据流。这是由TCP-7070端口外向控制连接设置的。
24、端口:7323
服务:
说明:Sygate服务器端。
25、端口:8000
服务:OICQ
说明:腾讯QQ服务器端开放此端口。
26、端口:8010
服务:Wingate
说明:Wingate代理开放此端口。
27、端口:8080
服务:代理端口
说明:WWW代理开放此端口。
linuxcentos怎么远程连接?
首先,来到服务器身边,接入键盘鼠标显示器Linux(centos)系统不重启解决远程SSH无法登录进入Linux界面可以ctrl+alt+f7切换字符与系统界面,我们按ctrl+alt+f2切换到字符界面Linux(centos)系统不重启解决远程SSH无法登录输入正确的帐号密码进入系统在root用户界面输入/usr/sbin/sshd输入后系统不会有任何的提示Linux(centos)系统不重启解决远程SSH无法登录然后我们打开远程连接软件输入服务器ip和正确的远程端口Linux(centos)系统不重启解决远程SSH无法登录登录系统,查看系统日志,查看系统出错原因Linux(centos)系统不重启解决远程SSH无法登录
netstart命令的功能和用途linux查看端口?
netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。
使用时如果不带参数,netstat显示活动的连接。
该命令的一般格式为:
netstat
状态:未解决
拼网络电脑的某个端口是什么命令?
只要开启一个服务,即可打开一个端口端口的作用,就是用于某个特定连接的信息出入口,而特定连接的建立,一般都是由某个服务开启要测试本机开启了哪些端口,linux系统可以使用nmap扫描即可如果是windows机器要看哪个端口是否打开,可以在命令提示符中输入telnet你要查看机器的IP端口号
linux查看端口绑定了哪个网卡?
一般来说端口是不绑定网卡的,一旦打开端口哪个网卡都能通过改端口连接,但是程序可以绑定IP地址的,一旦绑定IP地址,就看是哪个口设定了改IP了;
netstat-ano|grepnn//nn表示端口你可以看到结果中有没有ip:nn这样的信息,然后在ifconfig查看该IP是哪个端口设置的差不多就确定了如果是结果是0.0.0.0:nn就是没绑定IP地址也就是你说的没绑定网卡吧。