小编com*_*oma的帖子

本地主机上的 Netcat“连接被拒绝”

我试图从netcatphp 文件启动的连接中获取值,但它因以下原因而终止:

localhost [127.0.0.1] 2000 (?) : Connection refused
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,但如果我以 apache 用户(www-data)的身份使用 ssh,它会很好地工作。这就是我所做的:

  1. 开始一个无限循环,稍微延迟一下提供日期:

    $ (while true; do nc -l -p 2000 -c "sleep 5; date"; done)&
    
    Run Code Online (Sandbox Code Playgroud)
  2. 检查是否正常工作:

    $ su www-data
    $ nc localhost 2000
    Fri Oct 16 21:33:20 COT 2009
    
    Run Code Online (Sandbox Code Playgroud)
  3. 创建/var/www/test.php如下:

    <?php
    exec('nc localhost 2000>>/var/www/dates.txt 2>>/var/www/errors.txt &');
    ?>
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在浏览器上运行它:

    http://myserver.com/test.php
    
    Run Code Online (Sandbox Code Playgroud)
  5. 最后看一下两个 txt,日期为空(与 #2 中的响应完全不同),并且错误有“连接被拒绝”错误。

该服务器是一个运行 Ubuntu Server 9.04 的 LAMP 集群,带有 DRBD 和 Heartbeat。

让我发疯的是,这个 test.php 在我的笔记本电脑(Ubuntu Desktop 9.04 上的 LAMP)上运行良好,并且服务器似乎已经打开并监听端口:

$ netstat -ntpl
Active Internet connections …
Run Code Online (Sandbox Code Playgroud)

linux php port netcat apache-2.2

5
推荐指数
1
解决办法
5万
查看次数

标签 统计

apache-2.2 ×1

linux ×1

netcat ×1

php ×1

port ×1