我正在监视服务器上的 TCP 堆栈,希望能够推断出盒子上的应用程序存在的问题。
我的第一个倾向是测量所有报告状态(LISTEN、ESTABLISHED、FIN_WAIT2、TIME_WAIT 等)中的套接字数量并检测一些异常情况。
一位队友建议“lsof”将是一个更好的工具来查看 TCP 堆栈处于什么状态。
服务器故障人群的任何偏好或经验提示?
有时(不太经常)当我输入“netstat”时,它需要超过 5 秒才能返回。而其他时间是瞬时的。
我已经在我的服务器(CentOS 6.4)上观察了几个星期,但我不明白为什么!?
谁能给个解释?
回到仅使用 IPv4 的时代,显示netstat为侦听的 LISTEN 连接0.0.0.0将响应系统中任何 IPv4 接口上的连接。
据我了解,新的 IPv6 习惯用法::侦听所有可用的 IPv6和IPv4 接口。对于所有操作系统(Unix、Windows、Mac),这是否正确?是否有只听 IPv6 接口的习惯用法?
在 netstat 的结果中 [::] 是什么意思?
例子
[::]:ssh [::]:* 聆听
我正在尝试使用tcpkill. 该连接是一个开放的 HTTPS 连接。它在 netstat 上显示为:
tcp 0 0 X.X.X.X:55601 X.X.X.X:https ESTABLISHED
Run Code Online (Sandbox Code Playgroud)
因此,根据手册页,我输入:
$ tcpkill -i eth1 -9 port 443
Run Code Online (Sandbox Code Playgroud)
tcpkill 实用程序输出:
tcpkill: listening on eth1 [port 443]
Run Code Online (Sandbox Code Playgroud)
...然后就挂了。等了大约 15 分钟后,我不确定这里发生了什么。
难道我做错了什么?
我在一家没有“netcat”的银行工作。我遇到了问题,其中两个 DNS 服务器中的一个宕机造成影响。为了进行故障排除,我需要捕获来自 DNS 客户端 (AIX) 的请求(传入和传出)。我该怎么做?netstat 用的选项不做,我用过
有没有办法在 Linux 下查看侦听套接字上的队列长度,与netstat -LFreeBSD 的输出相同?即你可以在netstat -L输出中看到 X/Y/Z ,但 Linux 下的 netstat 不支持-L标志。
TIME_WAIT在 Mac OS X 上没有通常,当 TCP 连接关闭时,close()首先被调用的那一侧的套接字将保持在该TIME_WAIT状态。
当其中一个对等方是 Mac OS X (Lion) 机器时,如果在 Mac 端首先调用,则在 Mac上不TIME_WAIT列出 by 。然而,似乎插座的实际状态,因为试图调用一次(不使用套接字选项)会导致失败。netstat -anclose()TIME_WAITlisten()SO_REUSEADDRlisten()
等待 2*MSL(Maximum Segment Lifetime,在 Mac OS X Lion 上为 15 秒,由 报告sysctl net.inet.tcp.msl)清除TIME_WAIT状态,并且listen()可以再次调用而不会出错。
为什么我看不到插座TIME_WAIT?
这里有两个简单的 Python 测试程序。
服务器
#!/usr/bin/env python
import socket
HOST = ''
PORT = 50007
l = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
l.bind((HOST, PORT))
l.listen(1)
print("Listening …Run Code Online (Sandbox Code Playgroud) 我的 ubuntu 服务器被感染了,有一个进程向一堆网站发出一堆 HTTP 请求(糟透了!)。我已将以下内容添加到我的防火墙 (UFW) 中:
sudo ufw deny out proto tcp to any port 1:65535
To Action From
-- ------ ----
1:65535/tcp DENY OUT Anywhere
Run Code Online (Sandbox Code Playgroud)
现在我想使用 netstat 只列出 OUTBOUND tcp 连接,而不是入站。我怎样才能做到这一点?
使用 Openstack,我在我的服务器 (HTTPS) 上托管了一个 Web GUI(地平线)。
当我做 a 时netstat -lt | grep https,我有:
tcp6 0 0 [::]:https [::]:* LISTEN
Run Code Online (Sandbox Code Playgroud)
随着lsof -i :443,我有:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 5250 root 6u IPv6 27390 0t0 TCP *:https (LISTEN)
httpd 17675 apache 6u IPv6 27390 0t0 TCP *:https (LISTEN)
httpd 17676 apache 6u IPv6 27390 0t0 TCP *:https (LISTEN)
httpd 17677 apache 6u IPv6 27390 0t0 TCP *:https (LISTEN)
httpd 17678 apache 6u IPv6 …Run Code Online (Sandbox Code Playgroud)