使用python socket 搭建ftp服务器
使用python socket搭建ftp服务器的时候,客户端无法识别是ftp协议,虽然可以传输文本但是指令如主被动模式就无法识别。
这是访问正常ftp服务器的包,客户端可以识别是ftp协议
下图是我用socket自己搭建的服务器,无法识别出ftp
这是我测试用的代码
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'.encode('utf-8'))
结果就是client并不会认为pasv指令是pasv模式,请问如何能让消息被client辨别出是ftp协议的呢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
wirshark是通过端口号来区别不同协议的,你没有使用标准的FTP 20/21端口,当然就无法识别了。解决办法有两个: