• 2006-07-22

    http隧道[转]

    httptunnel creates a bidirectional virtual data connection tunnelled in HTTP requests. The HTTP requests can be sent via an HTTP proxy if so desired.
    This can be useful for users behind restrictive firewalls. If WWW access is allowed through a HTTP proxy, it's possible to use httptunnel and, say, telnet or PPP to connect to a computer outside the firewall.
  • 原地址:http://cert.sjtu.edu.cn/doc/linux/s1-server-ports.html
    红帽企业 Linux 3: 安全指南
    第 5章 . 服务器安全

    5.8. 校验哪些端口正在监听

    配置了网络服务之后,关注一下哪些端口在监听系统的网络接口这一点很重要。任何打开的端口都可能是入侵的证明。

    要列举正在监听网络的端口,有两种基本方法。一种不太可靠的方法是通过键入 netstat -anlsof -i 之类的命令来查询网络堆栈。这种方法之所以不太可靠是因为这些程序不连接网络上的机器,而是查看系统上在运行什么。因此,它们频繁成为攻击者的替换目标。怪客在打开了未经授权的网络端口后,就以这种方法来企图掩盖他们的踪迹。

    更可靠的方法是使用 nmap 之类的端口扫描器来检查哪些端口正在监听网络。

    以下从控制台发出的命令会判定哪些端口在监听来自网络上的 TCP 连接:

    nmap -sT -O localhost

    该命令的输出和以下相似:

    Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
    Interesting ports on localhost.localdomain (127.0.0.1):
    (The 1596 ports scanned but not shown below are in state: closed)
    Port State Service
    22/tcp open ssh
    111/tcp open sunrpc
    515/tcp open printer
    834/tcp open unknown
    6000/tcp open X11
    Remote OS guesses: Linux Kernel 2.4.0 or Gentoo 1.2 Linux 2.4.19 rc1-rc7)

    Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds

    该输出显示了由于 sunrpc 服务的存在,系统正在运行 portmap。然而,端口834上还有一个神秘服务。要查看一下该端口是否和任何已知服务相关,键入:

    cat /etc/services | grep 834

    该命令没有返回任何输出。这表明虽然该端口是在保留范围内(即从0到1023内),并且需要根权限才能打开,它并没有关联任何已知服务。

    下一步,检查使用 netstatlsof 的端口的信息。要使用 netstat 检查端口834,使用以下命令:

    netstat -anp | grep 834

    该命令返回以下输出:

    tcp   0    0 0.0.0.0:834    0.0.0.0:*   LISTEN   653/ypbind

    这个开放端口在 netstat 中存在,这一点比较令人安慰,因为如果怪客在被攻击的系统上暗中打开一个端口,他们很可能不会让这个端口使用该命令被暴露出来。还有,[p] 选项揭示了打开这个端口的进程 id(PID)。在这个例子中,被打开的端口属于 ypbind(NIS),这是和 portmap 服务一起进行的 RPC 服务。

    lsof 命令揭示了相似的信息,因为它也能够链接开放端口和服务:

    lsof -i | grep 834

    以下是这个命令中和讨论有关的输出部分:

    ypbind      653        0    7u  IPv4       1319                 TCP *:834 (LISTEN)
    ypbind 655 0 7u IPv4 1319 TCP *:834 (LISTEN)
    ypbind 656 0 7u IPv4 1319 TCP *:834 (LISTEN)
    ypbind 657 0 7u IPv4 1319 TCP *:834 (LISTEN)

    这些工具揭示了大量关于运行在机器上的服务状态的信息。它们很灵活,能够提供关于网络服务和配置的许多信息。强烈推荐你阅读 lsofnetstatnmapservices 的说明书页。


    另:

    inux下如何知道某个端口现在运行什么监听程序

    当我们用netstat -an的时候,我们有时候可以看到类似的输出:
    udp 0 0 0.0.0.0:32768 0.0.0.0:*
    但是查找/etc/services又没有这个端口的相关说明,怎么办呢?这个是不是黑客程序?有没有办法查看究竟什么程序监听在这个端口?

    使用lsof -i :32768就可以看到:
    COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
    rpc.statd 603 root 4u IPv4 953 UDP *:32768
    rpc.statd 603 root 6u IPv4 956 TCP *:32768 (LISTEN)
    原来是rpc的程序。
    使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。