当我读到信息是通过互联网以纯文本形式发送时,我有点困惑。我认为所有数据都是作为二进制数据发送的 - 例如像Django这样的网络服务器返回字节,而不是字符串。我错过了什么?
答案 0 :(得分:2)
你缺少的是“纯文本”只是一系列字节。一般而言,字节是“二进制数据”,但二进制数据的子集是“ASCII编码的人类可读文本”,这就是我们所说的纯文本。
IP本身有一些框架,标题,标记和你有什么,这不是纯文本,但是像SMTP或HTTP这样的纯文本协议的TCP / IP数据包的有效负载很容易阅读。
您始终可以使用tcpdump
或Wireshark之类的工具来转储数据包并查看其中的内容。有很多examples of how this plays out,其中二进制数据如下所示:
0x0000: 4520 0054 882b 0000 3001 7cf5 45fe d52b E..T.+..0.|.E..+
0x0010: 4815 222a 0800 3530 272a 0000 25ff d744 H."..50'..%..D
0x0020: ae5e 0500 0809 0a0b 0c0d 0e0f 1011 1213 .^..............
0x0030: 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 .............!"#
0x0040: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233 $%&'()*+,-./0123
0x0050: 3435 3637 4567
中间是数据的十六进制表示。右边是同文的明文表达。你可以看到最后它只是ASCII数据,即使早期的比特看起来像垃圾。