在Linux上,我可以使用netstat -pntl | grep $PORT或fuser -n tcp $PORT找出哪个进程(PID)正在侦听指定的TCP端口.如何在Mac OS X上获得相同的信息?
我正在尝试将端口80用于我的应用程序服务器,但是当我执行时,netstat -aon我得到:
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
当我在任务管理器中查找过程时,它显示的PID 4是SYSTEM,就是这样.没有延期......没什么.只是" SYSTEM".这里发生了什么?
我害怕结束这个过程,我该怎么办?
更新:
我已经通过另一个Stack Overflow问题解决了这个问题,该问题的解决方案是让IIS停止在端口80上侦听指定的IP地址.
我需要在Mac机器上检索默认网关.我知道在Linux中,-n将给出一个输出,我可以从中轻松检索到这些信息.但是这在Mac OSX(Snow Leopard)中不起作用.
我也尝试过netstat -nr | grep 'default',但我希望得到一个像route -nLinux/Unix 那样的清晰输出.netstat -nr列出所有接口和默认网关.
任何形式的建议或正确方向的提示将不胜感激.
我无法启动GlassFish,因为它一直显示此错误消息:
SEVERE: Shutting down v3 due to startup exception : No free port within range: 8080=com.sun.enterprise.v3.services.impl.monitor.MonitorableSelectorHandler@ed7d1
Run Code Online (Sandbox Code Playgroud)
如何找到哪些应用程序正在使用Windows Vista上的哪些端口?我尝试使用以下目标使用nmap zenmap:
但我得到的只是:
Starting Nmap 5.51 ( http://nmap.org ) at 2011-08-05 12:05 Central Daylight Time
NSE: Loaded 57 scripts for scanning.
Read data files from: C:\Program Files\Nmap
Nmap done: 0 IP addresses (0 hosts up) scanned in 4.55 seconds
Raw packets sent: 0 (0B) | Rcvd: 0 (0B)
WARNING: No targets were specified, so 0 hosts scanned.
Run Code Online (Sandbox Code Playgroud) 我如何知道某个端口是否在linux ubuntu上打开/关闭,而不是远程系统,使用python?如何在python中列出这些开放端口?
更新:已经修复,似乎其中一个VirtualHosts配置文件在启用站点时出错.
我有Ubuntu 11.10
当我运行命令启动apache2时:
sudo /etc/init.d/apache2 start
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
启动Web服务器apache2
apache2:无法可靠地确定服务器的完全限定域名,使用127.0.1.1 for ServerName(98)已在使用的地址:make_sock:无法绑定到地址0.0.0.0:80没有可用的侦听套接字,关闭无法打开日志操作'开始'失败.
我运行此命令以获取使用端口80的进程:
sudo netstat -ltnp | grep ':80'
Run Code Online (Sandbox Code Playgroud)
返回此输出:
tcp6 0 0 :::80 :::* LISTEN 1176/
Run Code Online (Sandbox Code Playgroud)
要知道我运行此命令的进程:
ps -wlp1176
Run Code Online (Sandbox Code Playgroud)
返回:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
5 D 33 1176 1 0 80 0 - 0 exit ? 00:00:00 apache2
Run Code Online (Sandbox Code Playgroud)
但如果我试图杀死这个过程:
sudo kill -9 1176
Run Code Online (Sandbox Code Playgroud)
它不会杀死它,如果我再次运行netstat命令仍然显示监听和apache启动失败.
有什么建议?
(Windows 7 x86)
如果我运行netstat -ab,我会得到一个活动连接列表,以及打开连接的应用程序的名称.
但是,某些连接(包括我的应用程序打开的连接)列为:
无法获取所有权信息
为什么?
谢谢,
达伦.
我想在正在运行的docker容器中执行netstat以查看打开的TCP套接字及其状态.但是,在我的一些docker容器上,netstat不可用.有没有办法通过一些docker API获得开放套接字(及其状态,以及它们连接的IP地址,如果有的话)而不使用netstat?(顺便说一句,我的容器使用docker-proxy - 也就是说,没有直接桥接)
我想我可以直接查看/ proc文件系统,但是在那一点上,我可能还将docker cp netstat放入容器并执行它.我想知道码头可能提供的任何设施.
在linux中,netstat命令告诉我们系统中活动套接字的信息.
据我所知,netstat使用/proc/net/tcp获得系统的网络信息.
由于netstatman page说netstat已经过时,所以我们应该使用'ss'.
NOTE
This program is obsolete. Replacement for netstat is ss. Replacement
for netstat -r is ip route. Replacement for netstat -i is ip -s link.
Replacement for netstat -g is ip maddr.
Run Code Online (Sandbox Code Playgroud)
我发现它ss执行类似的功能,但它不
/proc/net/tcp用于获取系统网络信息.
现在我很好奇如何ss获取系统网络套接字信息?
像许多人一样,我花了更多时间来调试IDE与XDebug的连接,而不是使用XDebug来调试我的程序.我已经让它重复工作,但每隔一段时间我就会遇到常见的"等待连接"问题.我无法本地化导致XDebug工作或失败的原因.我已经使用ubuntu两年了; 我既不是菜鸟,也不是strace guru.我究竟做错了什么?如何更好地调试IDE与XDebug的连接?
zend_extension = /usr/lib/php5/20090626+lfs/xdebug.so xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_log=/var/log/xdebug.log xdebug.extended_info=1 xdebug.idekey="netbeans-xdebug"
我无法解释导致问题的原因或问题何时显现.它开始于我尝试调试我的项目时,这会导致我选择的开发浏览器(Chrome)使用参数打开我的项目的URL XDEBUG_SESSION_START=netbeans-xdebug.这会导致页面在chrome中正常呈现,而Netbeans仅报告"等待连接".
首先,用"等待连接"的消息还活着,我会尝试用netstat来挖过来端口9000,去像这样:
$ netstat -an | grep 9000
tcp6 0 0 :::9000 :::* LISTEN
Run Code Online (Sandbox Code Playgroud)
我关闭了我的IDE,并尝试使用两个文件来帮助弄清楚发生了什么:{webroot}/index.php包含<?php phpinfo(); ?>,并{webroot}/dbgtest.php包含XDebug安装检查脚本:
<?php
$address = '127.0.0.1';
$port = 9000;
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, …Run Code Online (Sandbox Code Playgroud)