2012-04-20 33 views
7

pysmbライブラリを使用していくつかのsambaサーバに接続する例を教えてください。 私はそこ クラスsmb.SMBConnection.SMBConnectionは(ユーザー名、パスワード、MY_NAME、REMOTE_NAME、ドメイン=「」、use_ntlm_v2 =真) だが、私はpysmbの例

答えて

6

SMBConnectionクラスにそれを使用する方法を見つけ出すことはできません読みましたリモートのSambaサーバ上のファイルにブロックモードでアクセスすることができます。返されたファイルリストがSharedFileインスタンスのリストになります

conn = SMBConnection(userid, password, client_machine_name, remote_machine_name, use_ntlm_v2 = True) 
conn.connect(server_ip, 139) 
filelist = conn.listPath('shared_folder_name', '/') 

、リモートサーバー上の共有フォルダ内のファイルの一覧を取得するには

さらに多くの例は、pysmbソースパッケージのtests/SMBConnectionTestsフォルダにあります。

+1

ありがとうございます。 client_machine_name変数とremote_machine_name変数はどのように見えるはずですか?アドレスのどの部分を使用しますか?リモート名に "smb://"を含めますか? – hendrixski

6

私は最近、ネットワーク共有の列挙にpysmbを使用していて、良い/完全な例を見つけるのは簡単ではないことがわかりました。

try: 
    conn = SMBConnection(username,password,'name',system_name,domain,use_ntlm_v2=True, 
         sign_options=SMBConnection.SIGN_WHEN_SUPPORTED, 
         is_direct_tcp=True) 
    connected = conn.connect(system_name,445) 

    try: 
     Response = conn.listShares(timeout=30) # obtain a list of shares 
     print('Shares on: ' + system_name) 

     for i in range(len(Response)): # iterate through the list of shares 
      print(" Share[",i,"] =", Response[i].name) 

      try: 
       # list the files on each share 
       Response2 = conn.listPath(Response[i].name,'/',timeout=30) 
       print(' Files on: ' + system_name + '/' + " Share[",i,"] =", 
             Response[i].name) 

        for i in range(len(Response2)): 
         print(" File[",i,"] =", Response2[i].filename) 

      except: 
       print('### can not access the resource') 
    except: 
     print('### can not list shares')  
except: 
    print('### can not access the system') 
:また、私はここに接続して列挙を実現するコードスニペットを投稿し、完全を期すために https://github.com/n3if/scripts/tree/master/smb_enumerator

:私はpysmbでSMB共有を列挙するために書いた小さなスクリプトにあなたを参照してくださいしたいです

+1

sambaサーバに 'GUEST'ログインがある場合はどうなりますか?その場合、ユーザ名とパスワードのフィールドは何を提供するのですか? – user2033758

+1

私はUser = GUESTとPassword = ''と言っていますが、試してみるべきです。 – neif

+2

あなたは私を救った。私はPySmbClientを使用していましたが、動作させることができませんでした。ありがとうございました。 – grantathon

関連する問題