我正在阅读Computer Networking: A Top-Down Approach 5th (fifth) edition。我已经到了第二章,我想知道是否可以通过编写请求等来实际尝试不同的应用程序协议?如果你需要一个工具来做这件事,我正在使用 Windows,如果我需要一个工具,该工具在幕后做了什么连接?
2 回答
你应该使用telnet
连接到所有这些协议,做你的请求,阅读答案等等。
我正在阅读telnet
在较新的 Windows 版本上默认禁用的内容(难以置信,为什么?谢天谢地我停止使用它!)...如果您使用的 Windows 版本比 xp 更新,请按照本指南重新启用它。
Telnet 用于远程登录主机。今天,以这种方式使用它是完全不安全的,只要 telnet 连接没有加密,并且我们有一个更好的工具,比如 ssh 进行远程连接。但是,您可以将 Telnet 视为一个通用的 TCP 客户端。它可以在每个端口上建立 TCP 连接。
默认情况下,它将尝试连接到端口 23(即 telnet 端口),但您可以轻松更改它。
例如,如果要测试 HTTP,可以在命令行中编写:
~$ telnet www.example.com 80
Trying 192.0.43.10...
Connected to www.example.com.
Escape character is '^]'.
其中 80 是 http 端口(当然,如果你在本地运行它,你应该连接到localhost
)。其他行表明连接已准备好接收请求。现在您可以键入任何您想要的 http 命令。
GET /
HTTP/1.0 302 Found
Location: http://www.iana.org/domains/example/
Server: BigIP
Connection: close
Content-Length: 0
我输入的命令在哪里GET /
,其余的是 http 响应。
更改端口号,您可以(几乎?)与 Internet 中的每个协议通信。
好吧,您可以像这样……仅举几例……
FTP: ftp ip_addr
或ftp domain_name
远程登录: telnet ip_addr
或telnet ip_addr:port_no
或tracert domain_name
跟踪器: tracert ip_addr
或tracert domain_name
平: ping ip_addr
或ping domain_name