Python SMB Connection
-
Hey Guys,
I have a Problem and i don't find my solution...
Here's my test Code:import smb from smb.SMBConnection import SMBConnection from nmb.NetBIOS import NetBIOS netbios = NetBIOS() share_name = "share" user_name = "user" password = "passwd" server_IP = "xxx.xxx.xxx.251" local_machine_name = socket.gethostname() server_machine_name = netbios.queryIPForName(server_IP) print(server_machine_name[0]) # create and establish connection conn = SMBConnection(user_name, password, local_machine_name, server_machine_name[0], domain="WORKGROUP", use_ntlm_v2=True) # 139 # 445 print(conn.connect(server_IP, 445))
i get every Time this Message:
ELEKTROTECHNIK False
but the Function
conn.connect
return on Success True... not False....
i Have no idea what i'm doing wrong...im trying to connect to my Synology NAS 718
i hope you guys know what im doing wrong....
Thanks!!
-
@cvp said:
@DavinE I normally access this NAS via FTP but I just tested it with your script and I meet the same connection error.
hehe okay and my idea is now FTP ^^
works this with Pythonista ?
-
@DavinE FTP is ok and SFTP (SSH) also
-
But my old WD NAS does not support SFTP...
-
from ftplib import FTP import paramiko
ftplib for FTP
paramiko for SFTP
-
@cvp said:
from ftplib import FTP import paramiko
ftplib for FTP
paramiko for SFTPI know I'm annoying you a lot, but would you have a script like with SMB?
-
@cvp said:
@DavinE FTP is ok and SFTP (SSH) also
SFTP i don't know it works because i use Private Key's for my SSH connection...
-
@DavinE upload or download?
-
last edited by
-
@DavinE try first this
from ftplib import FTP ip = '192.168.0.47' user = 'admin' pwd = 'xxxxxxx'' ftp = FTP(ip) #connect ftp.encoding = 'utf-8' ftp.login(user,pwd) ftp.retrlines('NLST *') ftp.quit()
-
Upload
ftp = FTP(ip) #connect ftp.encoding = 'utf-8' ftp.login(user,pwd) local_file = open(path,'rb') ftp.storbinary('STOR '+server_file, local_file, blocksize=32768) local_file.close() ftp.quit()
-
last edited by
-
@cvp said:
from ftplib import FTP import paramiko
ftplib for FTP
paramiko for SFTPThere is also FTPS is that better for security?
how can i use this with Ports ?from ftplib import FTP_TLS ftp = FTP_TLS() ftp.ssl_version = ssl.PROTOCOL_SSLv23 ftp.ssl_version = ssl.PROTOCOL_TLSv1_2 ftp.debugging = 2 ftp.connect('localhost', 2121) ftp.login('developer', 'password') return ftp
but which version TLS or SSL ?
-
@cvp said:
@DavinE try first this
from ftplib import FTP ip = '192.168.0.47' user = 'admin' pwd = 'xxxxxxx'' ftp = FTP(ip) #connect ftp.encoding = 'utf-8' ftp.login(user,pwd) ftp.retrlines('NLST *') ftp.quit()
This works :D ^^
i see my Shared Folders ;)
-
@cvp said:
Upload
ftp = FTP(ip) #connect ftp.encoding = 'utf-8' ftp.login(user,pwd) local_file = open(path,'rb') ftp.storbinary('STOR '+server_file, local_file, blocksize=32768) local_file.close() ftp.quit()
server_file
is this this the storage Path ?
-
@DavinE yes sir, but it may begin at first folder where you are authorized. try first without folder, only a file name to check after upload where it has been stored
-
@DavinE said:
There is also FTPS is that better for security?
how can i use this with Ports ?from ftplib import FTP_TLS
ftp = FTP_TLS()
ftp.ssl_version = ssl.PROTOCOL_SSLv23
ftp.ssl_version = ssl.PROTOCOL_TLSv1_2
ftp.debugging = 2
ftp.connect('localhost', 2121)
ftp.login('developer', 'password')
return ftp
but which version TLS or SSL ?Never used. If needed, I use SFTP
-
@cvp said:
@DavinE yes sir, but it may begin at first folder where you are authorized. try first without folder, only a file name to check after upload where it has been stored
@cvp really thanks a lot for your help!! and for your Time to help me out ;) Thanks!!
i played now a while and it works like i will create folders upload files etc. great!!
beautiful evening @cvp xD
-
@DavinE 👍
-
@cvp
I Have a Problem...I used this code:
self.subDirCustomer_Prüfungen = 'Prüfungen' self.cur.encoding = 'utf-8' self.cur.mkd(self.subDirCustomer_Prüfungen)
But i get this Output folder
Prüfungen
How can i tellmkd
to use the utf-8....Do you know That ?
-
@DavinE sincerely, I don't know. I got the same kind of problems with accents like é, è, à on some, not all, machines I connect in smb. To avoid this, I don't use anymore accents in my folder/file names
Edit : even 10 years ago, this kind problem did already exist, see here