程式語言:Python
Package:pysmb
官方文件
功能:SMB 連接與處理,即是 Window 的網路芳鄰
Package:pysmb
官方文件
功能:SMB 連接與處理,即是 Window 的網路芳鄰
import socket from smb.SMBConnection import SMBConnection ip = '192.168.21.237' name = socket.gethostbyaddr(ip) ipGet = socket.gethostbyname(name[0]) print(name, ipGet, sep='\n') remote_name = name[0] conn = SMBConnection('username', 'password', 'any_name', remote_name) assert conn.connect(ip, timeout=3) for s in conn.listShares(): print('------------------------------------') print('name', s.name) print('comments', s.comments) print('isSpecial', s.isSpecial) print('isTemporary', s.isTemporary) ''' SharedDevice.DISK_TREE 0x00 SharedDevice.PRINT_QUEUE 0x01 SharedDevice.COMM_DEVICE 0x02 SharedDevice.IPC 0x03 ''' print('type', s.type) print('') print('### FileList ###') try: for f in conn.listPath(s.name, '/'): print(f.filename) for f in conn.listPath(s.name, '/game'): print(f.filename) except: print('### can not access the resource') print('------------------------------------') print('') conn.close()
Class 類別
- NBNSProtocol Class
- 非同步取得 ip 或 hostname
- NetBIOS class
- 同步取得 ip 或 hostname
- SMBConnection Class
- 操作網路磁碟
- SMbHandler Class
- 提供 "smb://" 給 urllib2 使用
- SMBProtocolFactory Class
- 運用在 Twisted framework
- SharedDevice Class
- 網路磁碟屬性定義
- SharedFile Class
- 資料夾屬性定義
- SMB Exceptions
- 例外處理
class nmb.NetBIOS.NetBIOS(broadcast=True, listen_port=0)
- 似乎有 bug,建議用 socket 取代
- __init__(broadcast=True, listen_port=0)
- close()
- queryIPForName(ip, port=137, timeout=30)
- queryName(name, ip='', port=137, timeout=30)
from nmb.NetBIOS import NetBIOS import socket n = NetBIOS() ip = '192.168.21.6' name = n.queryIPForName(ip) # pysmb-1.1.19 會有問題 ipGet = n.queryName(name) print(name, ipGet) n.close() name = socket.gethostbyaddr(ip) ipGet = socket.gethostbyname(name[0]) print(name, ipGet, sep='\n')
class smb.SMBConnection.SMBConnection(username, password, my_name, remote_name, domain='', use_ntlm_v2=True, sign_options=2, is_direct_tcp=False)
- __init__(username, password, my_name, remote_name, domain='', use_ntlm_v2=True, sign_options=2, is_direct_tcp=False)
- my_name
- 任意名字
- remote_name
- 對方電腦的名字
- close()
- connect(ip, port=139, sock_family=2, timeout=60)
- createDirectory(service_name, path, timeout=30)
- service_name
- share 的名字
- path
- 路徑,例:'\' 或 '\folder'
- timeout
- 試著連接的最大時間,單位為秒
- deleteDirectory(service_name, path, timeout=30)
- service_name
- share 的名字
- path
- 路徑,例:'\' 或 '\folder'
- timeout
- 試著連接的最大時間,單位為秒
- deleteFiles(service_name, path_file_pattern, timeout=30)
- service_name
- share 的名字
- echo(data, timeout=10)
- getAttributes(service_name, path, timeout=30)
- service_name
- share 的名字
- path
- 路徑,例:'\' 或 '\folder'
- timeout
- 試著連接的最大時間,單位為秒
- listPath(service_name, path, search=55, pattern='*', timeout=30)
- 列出路徑下的檔案和資料夾
- service_name
- share 的名字
- path
- 路徑,例:'\' 或 '\folder'
- search
- SMB_FILE_ATTRIBUTE_READONLY | SMB_FILE_ATTRIBUTE_HIDDEN | SMB_FILE_ATTRIBUTE_SYSTEM | SMB_FILE_ATTRIBUTE_DIRECTORY | SMB_FILE_ATTRIBUTE_ARCHIVE
- timeout
- 試著連接的最大時間,單位為秒
- listShares(timeout=30)
- 列出分享的資料夾
留言
張貼留言