一个香草ss -l
列表(在我当前的机器上)许多打开的套接字,具有各种 Netid 类型,其中许多只在 localhost 上侦听。
如何获得所有且仅包含远程机器可以与机器交换数据的所有套接字的列表?
这将包括 TCP、UDP、任何其他传输层协议、RAW 套接字以及我可能不知道的任何其他协议。(ss
在这个意义上是完整的吗?)
我相信这将排除 UNIX 套接字(它们仅在本地文件系统上,对吗?或者 UNIX 套接字可以远程操作,它们应该包括在内)。
可以忽略受本地主机限制的侦听器,但我不知道在如何表示/映射本地主机方面是否有任何警告。
基本标准是“如果侦听过程允许,我可以远程入侵任何套接字”。
(我记得ss
几年前的命令显示的结果比我现在得到的要少得多。这让我想知道某些发行版是否配置ss
为默认隐藏内容。我正在寻找一个ss
或类似的实用程序命令,它尽可能可移植, 只要它不会仅仅因为它在不同的环境中运行而隐藏任何东西。此外,从安全理论的角度来看,对于威胁模型,我们可以假设机器完全在我们的控制之下并且运行正常,非恶意软件。)
那么如何列出所有且仅相关的套接字?
根据https://networkengineering.stackexchange.com/a/57909/,发送到 192.168.1.97 的数据包“不会离开主机,但被视为从网络收到的数据包,地址为 192.168.1.97”。与发送数据包以环回 127.0.0.1 相同。
为什么nmap 127.0.0.1
返回的服务比nmap 192.168.1.97
?
是否nmap 127.0.0.1
也必须返回由 返回的那些服务nmap 192.168.1.97
?监听 at 的服务器192.168.1.97
一定也监听127.0.0.1
?
$ nmap -p0-65535 192.168.1.97
Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-23 19:18 EDT
Nmap scan report for ocean (192.168.1.97)
Host is up (0.00039s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
3306/tcp open mysql
33060/tcp open mysqlx
Nmap done: 1 IP address (1 …
Run Code Online (Sandbox Code Playgroud)