在过去,我们过去常常telnet
查看远程主机上的端口是否打开:telnet hostname port
会尝试连接到任何主机上的任何端口并让您访问原始 TCP 流。
这些天,我工作的系统没有安装 telnet(出于安全原因),并且默认情况下会阻止所有主机的所有出站连接。随着时间的推移,很容易忘记哪些端口对哪些主机开放。
是否有另一种方法来测试远程系统上的端口是否打开——使用安装了数量有限的软件包telnet
且不可用的 Linux 系统?
关于'port forwarding'有很多问题,但似乎没有一个明确说明它是什么以及它的用途。所以:
什么是端口转发?
它有什么用途,我为什么需要它?
当我netstat -a
在我的 Windows 机器上执行此操作时,我会获得具有以下四种状态之一的端口列表:
- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED
Run Code Online (Sandbox Code Playgroud)
什么CLOSE_WAIT
和TIME_WAIT
意味着/表明什么?
我想关闭客户端和服务器应用程序之间处于侦听模式的开放端口。
Linux 中是否有任何手动命令行选项来关闭端口?
注意: 我开始知道“只有拥有连接的套接字的应用程序才能关闭它,这会在应用程序终止时发生。”
我不明白为什么只有打开它的应用程序才有可能......但我仍然很想知道是否还有其他方法可以做到这一点。
我试图在我的计算机上安装 Zend Server CE,但是当我需要为我的 Web 服务器选择端口时,它显示:“Web 服务器端口:80 占用”。所以我决定通过键入:“netstat -o -n -a | findstr 0.0:80”来检查使用端口 80 和 CMD 的内容:
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
Run Code Online (Sandbox Code Playgroud)
我在任务管理器的进程和服务中检查 PID:4。似乎PID 4是“系统”。
那么,我想知道的是如何阻止“系统”(PID:4)使用端口 80?
信息: 我正在使用:Windows 7 64 位;Zend 服务器 CE 5.5.0
在支持多个选项卡的 Web 浏览器(例如 Firefox)中,转到不同网站域的不同选项卡是否为每个域使用专用端口?。
或者浏览器是否使用单个端口来管理所有选项卡,从而管理所有域?。
为什么选择端口 80 作为默认 HTTP 端口,选择 443 作为默认 HTTPS 端口?
有没有原因,还是只是这样定义的?
我想知道离开一个没有插头的活动以太网端口是否安全。我们的厨房里有一个就在我们的脸平面旁边,我想知道将它拔出露天是否安全,就像任何辐射或红外激光/光一样。可能听起来很偏执,但我很好奇。
我在 OSX Mountain Lion 10.8.3 上,我刚刚重新启动了我的 Mac。
我想启动一个服务(比如端口 80 上的 Apache),但是端口 80 已经发生了一些事情:
telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)
等等,我听到你说,你可以用 lsof 或 netstat 找到。除了什么都没有
netstat -an | grep LISTEN | grep '\.80'
*comes back blank*
lsof -i :80 | grep LISTEN
*comes back blank
Run Code Online (Sandbox Code Playgroud)
因此,根据我对 unix 系统的了解,我认为这一定是数据包转发规则吗?即数据包正在从入站端口 80 转发到其他正在侦听该服务的东西。
ipfw show
65535 0 0 allow ip from any to any
Run Code Online (Sandbox Code Playgroud)
嗯,没什么异常
pfctl -s nat
No ALTQ support in kernel
ALTQ related functions disabled
Run Code Online (Sandbox Code Playgroud)
没有什么不寻常的 …