我正在监视服务器上的TCP堆栈,希望一般地推断出盒子上的应用程序的问题。 我的第一个倾向是测量所有报告状态(LISTEN,ESTABLISHED,FIN_WAIT2,TIME_WAIT等)中的套接字数量并检测一些exception。 一个队友build议'lsof'将是一个更好的工具来查看TCP栈的状态。 来自serverfault人群的任何偏好或经验提示?
我有一个开放的networking端口进行奇怪的情况。 我的主要问题是,为什么没有一个程序与一个开放的TCP端口相关联: netstat -ln –program Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN – 对于我的具体情况,应该有一个监听端口5666的nrpe守护进程(opsview install),但是没有运行nrpe守护进程。 如果我尝试启动它,它会立即退出。 lsof -i :5666也不显示任何输出。 没有(x)inetd在我的系统上运行。 UPDATE 是的,我以root身份运行这些命令。 Telnet可以,但从来没有任何回应。 经过进一步的调查,我在dmesg发现了一个内核错误:这是一个EC2实例(实际上有几个)运行一个较旧的内核(2.6.16显然是不稳定的)。 停止崩溃的修复是升级内核 。 看起来内核崩溃的方式导致进程消失,并将端口打开。
这个问题类似于networking端口打开,但没有附加过程? 我已经尝试了从那里的一切,审查日志等,并找不到任何东西。 我的netstat显示一个TCP侦听端口和一个没有pid的UDP端口。 当我searchlsof这些端口时,什么都没有出现。 netstat -lntup Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:44231 0.0.0.0:* LISTEN – udp 0 0 0.0.0.0:55234 0.0.0.0:* – 以下命令不显示任何内容: lsof | grep 44231 lsof | greo 55234 fuser -n tcp 44231 fuser -n udp 55234 重新启动后,除了新的端口号之外,那些“相同的”两个连接在那里: netstat -lntup Proto Recv-Q Send-Q Local Address Foreign […]
我有一个被我需要杀死的进程阻塞的端口。 (一个小的telnet守护进程崩溃)。 该进程已成功中止,但该端口仍处于“FIN_WAIT1”状态。 它没有出来,超时似乎是“十年”。 我发现释放端口的唯一方法是重新启动整个机器,这是我不想做的事情。 $ netstat -tulnap | grep FIN_WAIT1 tcp 0 13937 10.0.0.153:4000 10.0.2.46:2572 FIN_WAIT1 – 有谁知道我怎样才能得到这个端口畅通无需重新启动?
好吧,这正在爬我 – 我看到这些约1500-2500: root@wherever:# netstat Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:60930 localhost:sunrpc TIME_WAIT tcp 0 0 localhost:60934 localhost:sunrpc TIME_WAIT tcp 0 0 localhost:60941 localhost:sunrpc TIME_WAIT tcp 0 0 localhost:60947 localhost:sunrpc TIME_WAIT tcp 0 0 localhost:60962 localhost:sunrpc TIME_WAIT tcp 0 0 localhost:60969 localhost:sunrpc TIME_WAIT tcp 0 0 localhost:60998 localhost:sunrpc TIME_WAIT […]
我正在尝试validation在与运行的Tomcat Web服务器通信期间正在使用HTTP持久连接。 目前,我可以从浏览器(例如Chrome)检索服务器上的资源,并使用netstatvalidation连接已build立: # visit http://server:8080/path/to/resource in Chrome [server:/tmp]$ netstat -a … tcp 0 0 server.mydomain:webcache client.mydomain:55502 ESTABLISHED 但是,如果我使用curl,我从来没有看到在netstat服务器上的连接。 [client:/tmp]$ curl –keepalive-time 60 –keepalive http://server:8080/path/to/resource … [server:/tmp]$ netstat -a # no connection exists for client.mydomain 我也试过使用下面的curl命令: curl -H "Keep-Alive: 60" -H "Connection: keep-alive" http://server:8080/path/to/resource 这是我的客户端机器的curl版本: [server:/tmp]$ curl -V curl 7.19.5 (x86_64-unknown-linux-gnu) libcurl/7.19.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 […]
我有一个进程(dbus-daemon),它在UNIX套接字上有许多开放的连接。 其中一个连接是fd#36: =$ ps uw -p 23284 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND depesz 23284 0.0 0.0 24680 1772 ? Ss 15:25 0:00 /bin/dbus-daemon –fork –print-pid 5 –print-address 7 –session =$ ls -l /proc/23284/fd/36 lrwx—— 1 depesz depesz 64 2011-03-28 15:32 /proc/23284/fd/36 -> socket:[1013410] =$ netstat -nxp | grep 1013410 […]
我知道127.0.0.1〜127.255.255.254是大多数现代操作系统的环回IP地址,这些IP地址可以用来指我们自己的电脑。 但是什么是0.0.0.0? 它似乎也是指本地计算机,那有什么区别 ? 而且,能否为我解释下面的IP连接: