在 Linux 下使用 telnet 时,由于 telnet 是明文协议,非常适合用抓包工具来分析通信内容。常用的抓包方式有以下几种:
tcpdump -i any -nn -X port 23
-i any:监听所有网卡-nn:不解析主机名和端口名-X:以十六进制 + ASCII 显示内容port 23:telnet 默认端口tcpdump -i eth0 -w telnet.pcap port 23
之后用 Wireshark 打开 telnet.pcap 分析。
tcpdump -i any -X host 192.168.1.100 and port 23
wireshark
过滤条件:
tcp.port == 23
tshark -i any -f "tcp port 23" -V
只看数据内容:
tshark -i any -Y "telnet" -T fields -e telnet.data
如果 telnet 连的是本机:
tcpdump -i lo -X port 23
如果你只是想记录 telnet 会话内容,而不是网络层:
script telnet.log
telnet 192.168.1.1
exit
查看:
cat telnet.log
示例抓包内容:
0x0000: 55 73 65 72 3a 20 72 6f 6f 74 0d 0a
User: root
如果你愿意,可以告诉我:
我可以给你更精确的命令。