SMB / CIFS-Pipelining

485
Jeff Bencteux

Ist das Pipelining eine Funktion des SMB / CIFS-Protokolls? Ich habe festgestellt, dass SMB2 einen Pipelining-Mechanismus hat, aber für die Vorgängerversion gibt es keine klare Antwort. Ich habe eine Netzwerkerfassung mit mehreren SMB-Transaktionsnachrichten und mehreren NetBIOS-Sitzungsdienstnachrichten. Ist dies in einem Netzwerk üblich?

0
Was ist Ihre Definition von Pipeline in diesem Zusammenhang? Das hängt wahrscheinlich vom Netzwerk ab und davon, was Sie tun. Seth vor 7 Jahren 0
Pipelining, dh das Senden zusätzlicher Anforderungen, bevor die Antwort auf eine vorherige Anforderung eingeht Jeff Bencteux vor 7 Jahren 1

1 Antwort auf die Frage

2
grawity

Ja, SMBv1 / CIFS verfügt über spezielle "AndX" -Befehle, die mit einem anderen Befehl im selben Paket verkettet werden können, obwohl nur einige bestimmte Befehle Teil der Kette sein können. (Insgesamt gibt es 8 "AndX" -Befehle - OPEN_ANDX, READ_ANDX, WRITE_ANDX und einige andere).

Stapelnachrichten, die das AndX-Konstrukt verwenden, wurden in den LAN Manager 1.0-Dialekt eingeführt. Batch-Nachrichten reduzieren die Anzahl der Nachrichten, die zum Abschließen einer Reihe von Befehlen erforderlich sind, indem mehrere Befehlsanforderungen oder Antworten in einer einzigen Nachricht gesendet werden. SMB-Befehle, die das AndX-Konstrukt anwenden, werden als "AndX-Befehle" bezeichnet und durch die NT LAN Manager-Konvention des Anfügens von "_ANDX" an den Befehlsnamen gekennzeichnet. Nachrichten dieses Typs werden als AndX-Nachrichten bezeichnet.

AndX-Nachrichten enthalten ein Konstrukt, das konzeptionell einer verketteten Liste ähnelt und zum Verbinden der Stapelblöcke verwendet wird. Die resultierende Liste wird als AndX-Kette bezeichnet.

Jeder AndX-Befehl hat eine bestimmte Liste von Befehlen, die ihm in einer AndX-Kette folgen können. Die Liste der zulässigen Folgebefehle jedes Befehls ist im entsprechenden Unterabschnitt des Befehls in Abschnitt 2.2.4, SMB-Befehle, dokumentiert.

Zitiert aus der offiziellen Dokumentation des Microsoft-Protokolls:

Danke, sehr nützlich. Ich denke, meine Capture folgt nicht der MS-Dokumentation, da mehrere TRANSACTION_SECONDARY-Anforderungen übereinander zu sein scheinen. Irgendeine Idee, wie das passiert ist? Könnte dies durch eine Malware oder eine normale SMB-Implementierung gemacht werden? Jeff Bencteux vor 7 Jahren 0