@tomycat: Du kannst angeblich C#, PHP, und Java, hast aber offensichtlich keine Ahnung was eine Bibliothek ist. Ähm…
Kannst Du denn überhaupt Python? Gleich beim ersten Beispiel hätte Dir doch eigentlich schon auffallen müssen das die Klammern beim `print()`-Aufruf fehlen, denn `print()` wird doch in der Quelle die Du zum lernen der Python-Grundlagen verwendest bestimmt vorkommen‽
SyntaxError: Missing parenthese...
- __blackjack__
- User
- Beiträge: 13102
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
zu Bibliothek: Ich verstehe das so, anstatt 30 Zeilen zu tippen, so tipp man nur 3 Zeilen. Die 3 Zeilen greifen auf die Bibliothek zu. Somit muss das Rad nicht immer neu erfunden werden. Richtig?__blackjack__ hat geschrieben: ↑Dienstag 3. September 2019, 21:58 @tomycat: Du kannst angeblich C#, PHP, und Java, hast aber offensichtlich keine Ahnung was eine Bibliothek ist. Ähm…
Kannst Du denn überhaupt Python? Gleich beim ersten Beispiel hätte Dir doch eigentlich schon auffallen müssen das die Klammern beim `print()`-Aufruf fehlen, denn `print()` wird doch in der Quelle die Du zum lernen der Python-Grundlagen verwendest bestimmt vorkommen‽
zu Python: Ich lerne mich gerade ein Ich nehme an, dass die einfachen Beispiele im Internet funktionieren. Sprich, ich gehe davon aus, ich machen Irgendwo einen Denkfehler.
zum Implentieren: Ich starte wireshark und schneide den Datenverkehr zwieschen SMB Client und Remote Windows Computer mit. In Wireshark exportiere ich den Datensatz vom SMB Client in einen Datei. Davon löschen ich alles, bis auf NetBios gefolgt vom SMB Teil. Diesen Teil sende ich mit einem Standart Socket auf auf Port 445.
Bitte verbessert mich wenn Quatsch dabei ist. Ich will NUR einen kleinen einfachen Beispielcode, der sich als SMB client ausgibt.
Code: Alles auswählen
z.B. könnte das so irgendwie aussehen:
s.netbios.connect(192.168.178.111)
https://www.programcreek.com/python/exa ... S.MODE_CCM
habe ich nicht gefunden. Ich kann Beispiel 1 nutzen, aber was mache ich mit
Code: Alles auswählen
sendSMB(self, packet):
//self ???
// packet ???
Welcher Entwickler denn? Du verlinkst hier nie Projektseiten, sondern Seiten, die irgendwoher Programmcode ziehen und (mehr oder wenige zusammenhanglos) darstellen. Steht ja auch groß darüber.
Sich dir eine Bibliothek bzw. ein Modul, welches das Protokoll anbietet. Ich bin mir fast sicher, dass du mit Wireshark nicht weit kommst, weil die Kommunikation hoffentlich verschlüsselt ist. Musst du aber auch gar nicht, weil die Dokumentation des Protokolls verfügbar ist.
Sich dir eine Bibliothek bzw. ein Modul, welches das Protokoll anbietet. Ich bin mir fast sicher, dass du mit Wireshark nicht weit kommst, weil die Kommunikation hoffentlich verschlüsselt ist. Musst du aber auch gar nicht, weil die Dokumentation des Protokolls verfügbar ist.
Nein, Du hast ein falsches Verständnis von Bibliothek. Eine Bibliothek ist eine Sammlung von Funktionen, die Dir für ein komplexes Problem eine einfache Schnittstelle bereitstellt.
Ich muß also nicht mehr wissen, wie etwas im Detail gemacht wird.
Deine Annahme, dass irgendwelche Code-Schnipsel, die irgendwer illegal kopiert hat, ohne die Lizenzbedingungen zu beachten, Dir helfen, Dein Problem zu lösen, ist schlicht falsch.
Und so ist es auch mit Deinem Ansatz mit Wireshark. Allein vom Mitschneiden von Datenverkehr wirst Du so ein komplexes Protokoll wie SMB nicht verstehen können. Das eigentliche Protokoll ist von Microsoft auf wenigen hundert Seiten auch irgendwie dokumentiert.
Wenn man einfach nach SMB sucht (https://pypi.org/search/?q=smb) findest Du etliche Bibliotheken, die zum Teil Teile des SMB-Protokolls umsetzen. Erster Schritt wäre es also, zu testen, ob eine dieser Bibliotheken das tut, was Du machen möchtest.
So ganz verstanden, was Dein eigentliches Problem ist, habe ich aber noch nicht.
Ich muß also nicht mehr wissen, wie etwas im Detail gemacht wird.
Deine Annahme, dass irgendwelche Code-Schnipsel, die irgendwer illegal kopiert hat, ohne die Lizenzbedingungen zu beachten, Dir helfen, Dein Problem zu lösen, ist schlicht falsch.
Und so ist es auch mit Deinem Ansatz mit Wireshark. Allein vom Mitschneiden von Datenverkehr wirst Du so ein komplexes Protokoll wie SMB nicht verstehen können. Das eigentliche Protokoll ist von Microsoft auf wenigen hundert Seiten auch irgendwie dokumentiert.
Wenn man einfach nach SMB sucht (https://pypi.org/search/?q=smb) findest Du etliche Bibliotheken, die zum Teil Teile des SMB-Protokolls umsetzen. Erster Schritt wäre es also, zu testen, ob eine dieser Bibliotheken das tut, was Du machen möchtest.
So ganz verstanden, was Dein eigentliches Problem ist, habe ich aber noch nicht.
Der Entwickler wo da steht. Ich suche auch kein Projekt, sondern einen kleinen Einstieg in smb und phthon.
Der Anfangsteil (davon war auch meine Rede) von einer SMB Kommunikation ist unverschlüsselt, sobald die Anmeldung und die Protokoll Version ausgehandelt wird, dann sind die SMB Daten verschlüsselt, das ist richtig.sparrow hat geschrieben: ↑Mittwoch 4. September 2019, 10:27 Sich dir eine Bibliothek bzw. ein Modul, welches das Protokoll anbietet. Ich bin mir fast sicher, dass du mit Wireshark nicht weit kommst, weil die Kommunikation hoffentlich verschlüsselt ist. Musst du aber auch gar nicht, weil die Dokumentation des Protokolls verfügbar ist.
Vielleicht habe ich mich falsch ausgedrückt, aber das habe ich doch gesagt, statt 30 Zeilen hat man nur 3 Zeilen Code. Das beste Beispiel ist OpenGL.Sirius3 hat geschrieben: ↑Mittwoch 4. September 2019, 10:48 Nein, Du hast ein falsches Verständnis von Bibliothek. Eine Bibliothek ist eine Sammlung von Funktionen, die Dir für ein komplexes Problem eine einfache Schnittstelle bereitstellt.
Ich muß also nicht mehr wissen, wie etwas im Detail gemacht wird.
sorry, nicht verstanden. Ich nehme mal an, wenn jemand ein Code Schnipsel im Internet zu Verfügung stellt. Der Möchte der Welt helfen. Ok, dann gibt es noch Fake Seiten und viel Werbung.
100? Es gibt über 100 pdf Doku´s über smb. ja ich weis. Mit Wireshark kann man nicht alles sehen.Sirius3 hat geschrieben: ↑Mittwoch 4. September 2019, 10:48 Und so ist es auch mit Deinem Ansatz mit Wireshark. Allein vom Mitschneiden von Datenverkehr wirst Du so ein komplexes Protokoll wie SMB nicht verstehen können. Das eigentliche Protokoll ist von Microsoft auf wenigen hundert Seiten auch irgendwie dokumentiert.
Mega THX, ich check mal den linkSirius3 hat geschrieben: ↑Mittwoch 4. September 2019, 10:48 Wenn man einfach nach SMB sucht (https://pypi.org/search/?q=smb) findest Du etliche Bibliotheken, die zum Teil Teile des SMB-Protokolls umsetzen. Erster Schritt wäre es also, zu testen, ob eine dieser Bibliotheken das tut, was Du machen möchtest.
Kommt noch
ich glaube wir reden aneinander vorbei. Der Denkfehler liegt auf meiner Seite.
1.Frage
Gibt es von Haus aus, eine Möglichkeit mit z.B. 3 Zeilen eine SMB Verbindung aufzubauen? Wenn Nein, dann brauche ich ein Projekt wo mir die Schnittstelle zu Verfügung gestellt wird. Sehe ich das so richtig?
2. Frage: Die Bibliothek ist gleiche zu setzen mit API? wie verstehe ich das mit Implentieren, ich sende einen String mit einer Standart Socket, stimmt das so ?
Warum das ganz? Ich will wissen wie sich eine SMB Verbindung mit Python aufbau, deswegen ich ein kleiner Prog schreiben.
1.Frage
Gibt es von Haus aus, eine Möglichkeit mit z.B. 3 Zeilen eine SMB Verbindung aufzubauen? Wenn Nein, dann brauche ich ein Projekt wo mir die Schnittstelle zu Verfügung gestellt wird. Sehe ich das so richtig?
2. Frage: Die Bibliothek ist gleiche zu setzen mit API? wie verstehe ich das mit Implentieren, ich sende einen String mit einer Standart Socket, stimmt das so ?
Warum das ganz? Ich will wissen wie sich eine SMB Verbindung mit Python aufbau, deswegen ich ein kleiner Prog schreiben.
@tomcat: zu 1) SMB ist viel zu komplex, als dass drei Zeilen ausreichen würden, selbst wenn Du eine passende Bibliothek benutzt. Zu 2) Bibliothek und API ist wie Staubsauger und Gebrauchsanweisung. Und SMB ist viel komplexer, als dass es mit dem Senden eines Strings an einen Server über einen Socket getan wäre.
Und warum willst Du wissen, wie sich eine SMB Verbindung mit Python aufbauen läßt? Und SMB ist viel zu komplex, als dass das mit einem kleinen Prog getan wäre.
Und warum willst Du wissen, wie sich eine SMB Verbindung mit Python aufbauen läßt? Und SMB ist viel zu komplex, als dass das mit einem kleinen Prog getan wäre.
sowas habe ich gesucht, der Code geht:
Bibiotek und Implentierung macht mir irre
Kann mir jemand ein Beispiel machen?
Code: Alles auswählen
#!/usr/bin/python
from impacket import smb
from struct import pack
import sys
import socket
def mein_smb():
conn = smb.SMB(sys.argv[1],sys.argv[1])
conn.login_standard('', '')
print('Target OS: '+conn.get_server_os())
mein_smb()
Kann mir jemand ein Beispiel machen?
- __blackjack__
- User
- Beiträge: 13102
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@tomycat: Beispiel heisst auf Englisch „example“. Schau mal in dem Quellen von `impacket` — da gibt's ein Verzeichnis…
Das Package scheint aber Python 2 zu sein — also nichts mit dem man heute noch neue Programme anfangen sollte.
Das Package scheint aber Python 2 zu sein — also nichts mit dem man heute noch neue Programme anfangen sollte.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
- __blackjack__
- User
- Beiträge: 13102
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Ich hatte mir das angeschaut was man per ``pip`` installieren, nicht den aktuellen master-Branch. Beim PyPI sieht das noch Python 2-only aus.
Naja, und die She-Bang-Zeile beim OP sieht halt auch nach Python 2 aus.
Naja, und die She-Bang-Zeile beim OP sieht halt auch nach Python 2 aus.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman