python-sendcmd主动模式访问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()  
posted @ 2015-09-06 10:30  栀子花的味道  阅读(1186)  评论(0编辑  收藏  举报