1

我正在阅读Computer Networking: A Top-Down Approach 5th (fifth) edition。我已经到了第二章,我想知道是否可以通过编写请求等来实际尝试不同的应用程序协议?如果你需要一个工具来做这件事,我正在使用 Windows,如果我需要一个工具,该工具在幕后做了什么连接?

4

2 回答 2

4

你应该使用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 中的每个协议通信。

于 2012-07-02T13:10:24.037 回答
1

好吧,您可以像这样……仅举几例……

FTP: ftp ip_addrftp domain_name

远程登录: telnet ip_addrtelnet ip_addr:port_notracert domain_name

跟踪器: tracert ip_addrtracert domain_name

平: ping ip_addrping domain_name

于 2012-07-02T13:28:45.337 回答