我想使用来构建FTP服务器。
但是客户端没有认出服务器发送了FTP包。
这就是我访问FTP服务器时的情况

客户仍然认为我发送了一个TCP包
这就是我访问正式FTP服务器时的情况

因此,当我希望客户机进入被动模式时,客户机仍然认为它是tcp竞争。
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('192.168.233.129', 31503))
s.listen(5)
print 'Waiting for connection...'
clientSock, addr = s.accept()
print 'Accept new connection from %s:%s...' % addr
clientSock.send('220-\r\n220 end\r\n'.encode('utf-8'))
print clientSock.recv(65536)
clientSock.send('331 password\r\n'.encode('utf-8'))
print clientSock.recv(65536)
clientSock.send('230 login\r\n'.encode('utf-8'))
print clientSock.recv(65536)
clientSock.send('215 UnixType\r\n'.encode('utf-8'))
print clientSock.recv(65536)
clientSock.send('227 Entering Passive Mode (192,168,233,129,105,160).\r\n')是否有任何方法使客户端将我的包识别为FTP包?
编辑:格式更改
发布于 2017-11-04 13:12:28
您使用的端口号是多少,您应该使用21作为端口号。然后客户端可以将其检测为FTP
如果您使用的不是21,在wireshark中,您必须将端口号解码为21(Wireshark -> Analyze > decode as ->给出您的端口号和解码作为哪个协议)。
https://stackoverflow.com/questions/47110884
复制相似问题