敲击端口获取服务和版本

敲击端口获取服务和版本

我很难记住我在 bash 中使用的某个命令,该命令会提供有关它将“敲击”的端口的信息。

我用过ssh 后门这样我出门在外时就可以访问家里的电脑。这是一个很好的替代方案,而不是使用DNS 解决方案以应对我的 ISP 不可预测地更改我的计算机的 IP。

我可以毫无问题地设置 ssh 隧道,执行以下操作

me@home$ ssh -X -R 2222:localhost:22 me@my_server

然后使用这些命令沿着隧道回家

me@somewhere_remote$ ssh me@my_server
me@myserver password: 
me@mys_erver$ ssh -p 2222 me@localhost
me@localhost's password: 
me@home$

一切正常,我对此没有任何问题。只是说明我的用例。

我的问题,或者更令人烦恼的是,我记得我曾经知道并使用一个命令,它可以让我敲击一个端口,它会打印出一行说明端口上正在运行什么服务。

因此,如果我当前以 me@my_server 身份登录,我可以执行如下操作

 me@my_server$ knock localhost:2222
 me@my_server$ OpenSSH_5.8p1

其中代替‘knock’的某些命令将打印出端口转发到my_server的ssh版本。

想到的一些可能的命令包括网猫网络状态, 和nmap,但我记不清我用哪个来获得这个功能了。我猜它看起来像

nc -p localhost:2222

但这实际上没有任何作用,所以我的某些参数一定是错误的。

我仔细查看了每个命令的手册页,但似乎找不到如何执行此操作。我搜索了历史记录,但找不到它,因为距离上次使用它已经太久了!(我以前只需按 ctrl+R n___ 它就会出现)。

这是一个非常有用的命令,因为可以检查他们正在连接的端口以及正在监听的服务。没有它我当然也可以,但现在我脑子里一直在想它是什么!

有人知道这样的命令吗?我可能把一些细节搞混了,但我记得它大致做了一些我解释过的事情。

感谢任何建议和帮助!

答案1

有可能nmap

$ nmap -sT -sV -p 80,443 www.google.com

Starting Nmap 6.01 ( http://nmap.org ) at 2012-10-18 01:36 PDT
Nmap scan report for www.google.com (74.125.224.242)
Host is up (0.015s latency).
Other addresses for www.google.com (not scanned): 74.125.224.244 74.125.224.240 74.125.224.241 74.125.224.243
rDNS record for 74.125.224.242: lax04s08-in-f18.1e100.net
Not shown: 98 filtered ports
PORT    STATE SERVICE  VERSION
80/tcp  open  http     Google httpd 2.0 (GFE)
443/tcp open  ssl/http Google httpd 2.0 (GFE)
Service Info: OS: Linux; CPE: cpe:/o:linux:kernel

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 20.23 seconds
  • -sT是TCP扫描
  • -sV是服务版本扫描
  • -p是要扫描的端口列表。使用此-F选项可仅扫描常用端口,或使用此选项可不扫描许多(但不是全部)端口。

与往常一样,请阅读手册以了解更多信息。

相关内容