zoukankan      html  css  js  c++  java
  • pythonsendcmd主动模式访问ftp——修改port中IP地址信息

    用python访问ftp站点,主动模式发送port时,修改了IP地址,抓包分析网络会话信息。
    activesocket.py
     1 #python for socket active mode 
     2 #!/usr/bin/python  
     3 # -*- coding: utf-8 -*-  
     4 import ftplib
     5 import os  
     6 import socket  
     7 import sys
     8   
     9 HOST = '10.52.26.26'  
    10 DIRN = '/file_yes'  
    11 FILE = 'put.txt'  
    12 host1 = '10.25.46.26'
    13 port1 = 15245
    14 
    15 
    16 
    17 def main():  
    18     try:  
    19         f = ftplib.FTP(HOST)  
    20     except (socket.error, socket.gaierror):  
    21         print 'ERROR:cannot reach " %s"' % HOST  
    22         return  
    23     print '***Connected to host "%s"' % HOST 
    24   
    25     try:  
    26         f.login('FTP002','*******')  
    27     except ftplib.error_perm:  
    28         print 'ERROR: cannot login FTP'  
    29         f.quit()  
    30         return  
    31     #print f.getwelcome()
    32     print '*** Logged in as "FTP"'
    33     print f.getwelcome()
    34     
    35     try:
    36         f.sendcmd('SYST')
    37         f.sendcmd('PWD')
    38         f.sendcmd('CWD /file_yes')
    39         f.sendcmd('PWD')
    40         f.sendcmd('TYPE I')
    41         print f.sendport(host1,port1)
    42     except ftplib.error_perm:
    43         print 'ERROR:error with putcmd'
    44         f.quit()
    45         return
    46     print '***putcmd successfully'
    47 
    48     #To establish a TCP connection
    49     try:
    50         s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    51     except socket.error,msg:
    52         print 'Failed to create socket.Error code:'+str(msg[0])+',Error message'+msg[1]
    53         sys.exit()
    54     print 'Socket Create'
    55     try:
    56         s.bind((host1,port1))
    57     except socket.error,msg:
    58         print 'Bind failed.Error Code:'+str(msg[0])+',Error message'+msg[1]
    59         sys.exit()
    60     print 'Socket bind complete!'
    61 
    62     s.listen(10)
    63     print 'socket now listening'
    64     
    65     print f.sendcmd('LIST')
    66 
    67     f.quit()
    68     return
    69 
    70 
    71 
    72  #    try:  
    73  #        f.cwd(DIRN)  
    74  #    except ftplib.error_perm:  
    75  #        print 'ERRORL cannot CD to "%s"' % DIRN  
    76  #        f.quit()  
    77  #        return  
    78     # print '*** Changed to "%s" folder' % DIRN  
    79       
    80  #    try:  
    81  #         f.dir()
    82  #    except ftplib.error_perm:  
    83  #        print 'ERRORL list "%s" info' % DIRN  
    84  #        f.quit()  
    85  #        return  
    86  #    print '*** This is "%s" folder info' % DIRN  
    87     
    88     
    89  #    try: 
    90     #     buf_size = 1024
    91     #     f.storbinary('stor %s' %FILE, open(FILE, 'rb'),buf_size)  
    92  #    except ftplib.error_perm:  
    93  #        print 'ERROR: cannot read file "%s"' % FILE  
    94  #        os.unlink(FILE)  
    95  #    else:  
    96  #        print '*** Uploaded "%s" to CWD' % FILE  
    97   
    98 if __name__ == '__main__':  
    99     main()  
  • 相关阅读:
    Linux Ctrl+Z的使用方法
    ImageView android:tint
    vim recording的使用方法
    java多态实现原理
    Java 修饰符
    Java 变量类型
    Java 对象和类
    Java内存结构详解
    一维数组
    数组
  • 原文地址:https://www.cnblogs.com/SusieHu/p/4784738.html
Copyright © 2011-2022 走看看