我正在阅读Computer Networking: A Top-Down Approach 5th (fifth) edition。我已经达到了第二章,我想知道是否有可能通过编写请求等来实际尝试不同的应用程序协议?我正在使用Windows,如果你需要一个工具来做这件事,如果我需要一个工具,这个工具在幕后做什么连接?
答案 0 :(得分:4)
您应该使用telnet
连接所有这些协议,提出请求,阅读答案等。
我正在读取telnet
默认情况下在较新的Windows版本上被禁用(令人难以置信,为什么?谢天谢地,我停止使用它了!)...如果您关注this guide,请重新启用它'使用比xp更新的Windows版本。
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响应。
更改端口号,您可以与(几乎?)互联网上的每个协议通话。
答案 1 :(得分:1)
嗯,你可以这样出来......只是举几个......
Ftp: ftp ip_addr
或ftp domain_name
来电: telnet ip_addr
或telnet ip_addr:port_no
或tracert domain_name
tracert: tracert ip_addr
或tracert domain_name
ping: ping ip_addr
或ping domain_name