David Black
2005-Jan-20  16:34 UTC
[Samba] Please help me decipher a two-packet NetBT conversation...
My clients are Windows XP SP1 and SP2, members of a Samba-PDC NT domain 
(tested 3.0.7 and 3.0.10, same result).    Attached is ethereal output 
of a two packet client-server exchange that takes place when an offline 
files sync is done.   SP1 quickly does this exchange twice - first 
broadcast, then unicast (as attached) and goes on its way.  SP2 tries, 
pauses many seconds, tries again, finally giving up and completing the sync.
Basically the client is attempting a SAM logon request with an empty 
user name.  Samba responds with user unknown.   Even at high log levels, 
I get nothing in the Samba logs.   I found one other reference to this 
sort of issue, on an earlier Samba list post in 2002, then a follow-up 
in 8/04, both unanswered.
I'd be happy to look at the Samba code to better understand how/why this 
is happening, but don't know where to start.  Advice is much appreciated.
Regards,
David Black
-------------- next part --------------
No.     Time            Source                Destination           Protocol
Info
   4191 14:45:44.739000 dblack-pc.magnalynx.com ha1.magnalynx.com     NETLOGON
SAM LOGON request from client
Frame 4191 (281 bytes on wire, 281 bytes captured)
    Arrival Time: Jan 19, 2005 14:45:44.739000000
    Time delta from previous packet: 0.000003000 seconds
    Time since reference or first frame: 1238.005492000 seconds
    Frame Number: 4191
    Packet Length: 281 bytes
    Capture Length: 281 bytes
Ethernet II, Src: 00:0d:60:af:59:fc, Dst: 00:0d:60:0f:01:d6
    Destination: 00:0d:60:0f:01:d6 (ha1.magnalynx.com)
    Source: 00:0d:60:af:59:fc (dblack-pc.magnalynx.com)
    Type: IP (0x0800)
Internet Protocol, Src Addr: dblack-pc.magnalynx.com (192.168.10.151), Dst Addr:
ha1.magnalynx.com (192.168.10.230)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 267
    Identification: 0x31b6 (12726)
    Flags: 0x00
        0... = Reserved bit: Not set
        .0.. = Don't fragment: Not set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 128
    Protocol: UDP (0x11)
    Header checksum: 0x715e (correct)
    Source: dblack-pc.magnalynx.com (192.168.10.151)
    Destination: ha1.magnalynx.com (192.168.10.230)
User Datagram Protocol, Src Port: netbios-dgm (138), Dst Port: netbios-dgm (138)
    Source port: netbios-dgm (138)
    Destination port: netbios-dgm (138)
    Length: 247
    Checksum: 0x7e57 (correct)
NetBIOS Datagram Service
    Message Type: Direct_group datagram (17)
    More fragments follow: No
    This is first fragment: Yes
    Node Type: P node (1)
    Datagram ID: 0x8022
    Source IP: dblack-pc.magnalynx.com (192.168.10.151)
    Source Port: 138
    Datagram length: 225 bytes
    Packet offset: 0 bytes
    Source name: DBLACK-PC<00> (Workstation/Redirector)
    Destination name: MAGNALYNX<1c> (Domain Controllers)
SMB (Server Message Block Protocol)
    SMB Header
        Server Component: SMB
        SMB Command: Trans (0x25)
        Error Class: Success (0x00)
        Reserved: 00
        Error Code: No Error
        Flags: 0x00
            0... .... = Request/Response: Message is a request to the server
            .0.. .... = Notify: Notify client only on open
            ..0. .... = Oplocks: OpLock not requested/granted
            ...0 .... = Canonicalized Pathnames: Pathnames are not canonicalized
            .... 0... = Case Sensitivity: Path names are case sensitive
            .... ..0. = Receive Buffer Posted: Receive buffer has not been
posted
            .... ...0 = Lock and Read: Lock&Read, Write&Unlock are not
supported
        Flags2: 0x0000
            0... .... .... .... = Unicode Strings: Strings are ASCII
            .0.. .... .... .... = Error Code Type: Error codes are DOS error
codes
            ..0. .... .... .... = Execute-only Reads: Don't permit reads if
execute-only
            ...0 .... .... .... = Dfs: Don't resolve pathnames with Dfs
            .... 0... .... .... = Extended Security Negotiation: Extended
security negotiation is not supported
            .... .... .0.. .... = Long Names Used: Path names in request are not
long file names
            .... .... .... .0.. = Security Signatures: Security signatures are
not supported
            .... .... .... ..0. = Extended Attributes: Extended attributes are
not supported
            .... .... .... ...0 = Long Names Allowed: Long file names are not
allowed in the response
        Process ID High: 0
        Signature: 0000000000000000
        Reserved: 0000
        Tree ID: 0
        Process ID: 0
        User ID: 0
        Multiplex ID: 0
    Trans Request (0x25)
        Word Count (WCT): 17
        Total Parameter Count: 0
        Total Data Count: 65
        Max Parameter Count: 0
        Max Data Count: 0
        Max Setup Count: 0
        Reserved: 00
        Flags: 0x0000
            .... .... .... ..0. = One Way Transaction: Two way transaction
            .... .... .... ...0 = Disconnect TID: Do NOT disconnect TID
        Timeout: 1 second
        Reserved: 0000
        Parameter Count: 0
        Parameter Offset: 0
        Data Count: 65
        Data Offset: 92
        Setup Count: 3
        Reserved: 00
        Byte Count (BCC): 88
        Transaction Name: \MAILSLOT\NET\NETLOGON
SMB MailSlot Protocol
    Opcode: Write Mail Slot (1)
    Priority: 1
    Class: Unreliable & Broadcast (2)
    Size: 88
    Mailslot Name: \MAILSLOT\NET\NETLOGON
Microsoft Windows Logon Protocol
    Command: SAM LOGON request from client (0x12)
    Request Count: 0
    Unicode Computer Name: DBLACK-PC
    User Name: 
    Mailslot Name: \MAILSLOT\NET\GETDC808
    Account control  = 0x0000
        .... .... .... .... .... .0.. .... .... = Autolock: User account NOT
auto-locked
        .... .... .... .... .... ..0. .... .... = Expire: User password will
expire
        .... .... .... .... .... ...0 .... .... = Server Trust: NOT a Server
Trust user account
        .... .... .... .... .... .... 0... .... = Workstation Trust: NOT a
Workstation Trust user account
        .... .... .... .... .... .... .0.. .... = Interdomain Trust: NOT a
Inter-domain Trust user account
        .... .... .... .... .... .... ..0. .... = MNS User: NOT a MNS Logon user
account
        .... .... .... .... .... .... ...0 .... = Normal User: NOT a normal user
account
        .... .... .... .... .... .... .... 0... = Temp Duplicate User: NOT a
temp duplicate user account
        .... .... .... .... .... .... .... .0.. = Password: Password required
        .... .... .... .... .... .... .... ..0. = Homedir: Homedir required
        .... .... .... .... .... .... .... ...0 = Enabled: User account disabled
    Domain SID Size: 0
    NT Version: 11
    LMNT Token: 0xffff (Windows NT Networking)
    LM20 Token: 0xffff (LanMan 2.0 or higher)
No.     Time            Source                Destination           Protocol
Info
   4192 14:45:44.739035 ha1.magnalynx.com     dblack-pc.magnalynx.com NETLOGON
SAM Response - user unknown
Frame 4192 (260 bytes on wire, 260 bytes captured)
    Arrival Time: Jan 19, 2005 14:45:44.739035000
    Time delta from previous packet: 0.000035000 seconds
    Time since reference or first frame: 1238.005527000 seconds
    Frame Number: 4192
    Packet Length: 260 bytes
    Capture Length: 260 bytes
Ethernet II, Src: 00:0d:60:0f:01:d6, Dst: 00:0d:60:af:59:fc
    Destination: 00:0d:60:af:59:fc (dblack-pc.magnalynx.com)
    Source: 00:0d:60:0f:01:d6 (ha1.magnalynx.com)
    Type: IP (0x0800)
Internet Protocol, Src Addr: ha1.magnalynx.com (192.168.10.230), Dst Addr:
dblack-pc.magnalynx.com (192.168.10.151)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 246
    Identification: 0x0000 (0)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: UDP (0x11)
    Header checksum: 0xa329 (correct)
    Source: ha1.magnalynx.com (192.168.10.230)
    Destination: dblack-pc.magnalynx.com (192.168.10.151)
User Datagram Protocol, Src Port: netbios-dgm (138), Dst Port: netbios-dgm (138)
    Source port: netbios-dgm (138)
    Destination port: netbios-dgm (138)
    Length: 226
    Checksum: 0xc68f (correct)
NetBIOS Datagram Service
    Message Type: Direct_unique datagram (16)
    More fragments follow: No
    This is first fragment: Yes
    Node Type: M node (2)
    Datagram ID: 0x1978
    Source IP: ha1.magnalynx.com (192.168.10.230)
    Source Port: 138
    Datagram length: 204 bytes
    Packet offset: 0 bytes
    Source name: PDC<00> (Workstation/Redirector)
    Destination name: DBLACK-PC<00> (Workstation/Redirector)
SMB (Server Message Block Protocol)
    SMB Header
        Server Component: SMB
        SMB Command: Trans (0x25)
        Error Class: Success (0x00)
        Reserved: 00
        Error Code: No Error
        Flags: 0x00
            0... .... = Request/Response: Message is a request to the server
            .0.. .... = Notify: Notify client only on open
            ..0. .... = Oplocks: OpLock not requested/granted
            ...0 .... = Canonicalized Pathnames: Pathnames are not canonicalized
            .... 0... = Case Sensitivity: Path names are case sensitive
            .... ..0. = Receive Buffer Posted: Receive buffer has not been
posted
            .... ...0 = Lock and Read: Lock&Read, Write&Unlock are not
supported
        Flags2: 0x0000
            0... .... .... .... = Unicode Strings: Strings are ASCII
            .0.. .... .... .... = Error Code Type: Error codes are DOS error
codes
            ..0. .... .... .... = Execute-only Reads: Don't permit reads if
execute-only
            ...0 .... .... .... = Dfs: Don't resolve pathnames with Dfs
            .... 0... .... .... = Extended Security Negotiation: Extended
security negotiation is not supported
            .... .... .0.. .... = Long Names Used: Path names in request are not
long file names
            .... .... .... .0.. = Security Signatures: Security signatures are
not supported
            .... .... .... ..0. = Extended Attributes: Extended attributes are
not supported
            .... .... .... ...0 = Long Names Allowed: Long file names are not
allowed in the response
        Process ID High: 0
        Signature: 0000000000000000
        Reserved: 0000
        Tree ID: 0
        Process ID: 0
        User ID: 0
        Multiplex ID: 0
    Trans Request (0x25)
        Word Count (WCT): 17
        Total Parameter Count: 0
        Total Data Count: 44
        Max Parameter Count: 0
        Max Data Count: 0
        Max Setup Count: 0
        Reserved: 00
        Flags: 0x0000
            .... .... .... ..0. = One Way Transaction: Two way transaction
            .... .... .... ...0 = Disconnect TID: Do NOT disconnect TID
        Timeout: Return immediately (0)
        Reserved: 0000
        Parameter Count: 0
        Parameter Offset: 0
        Data Count: 44
        Data Offset: 92
        Setup Count: 3
        Reserved: 00
        Byte Count (BCC): 67
        Transaction Name: \MAILSLOT\NET\GETDC808
SMB MailSlot Protocol
    Opcode: Write Mail Slot (1)
    Priority: 1
    Class: Unreliable & Broadcast (2)
    Size: 67
    Mailslot Name: \MAILSLOT\NET\GETDC808
Microsoft Windows Logon Protocol
    Command: SAM Response - user unknown (0x15)
    Data (42 bytes)
Gerald (Jerry) Carter
2005-Jan-20  18:01 UTC
[Samba] Please help me decipher a two-packet NetBT conversation...
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 David Black wrote: | My clients are Windows XP SP1 and SP2, members of a Samba-PDC NT domain | (tested 3.0.7 and 3.0.10, same result). Attached is ethereal output | of a two packet client-server exchange that takes place when an offline | files sync is done. SP1 quickly does this exchange twice - first | broadcast, then unicast (as attached) and goes on its way. SP2 tries, | pauses many seconds, tries again, finally giving up and completing the | sync. | | Basically the client is attempting a SAM logon request with an empty | user name. Samba responds with user unknown. Even at high log levels, | I get nothing in the Samba logs. I found one other reference to this | sort of issue, on an earlier Samba list post in 2002, then a follow-up | in 8/04, both unanswered. | This is the correct response based on my memory of the network traffic. You could be running down the wrong trail here. I haven't dug in to the offline caching support so I can't comment on that too much. But the response code in your trace was right as far as I know. cheers, jerry -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFB7/HEIR7qMdg1EfYRAlB2AKDkkQ1mfVXEbXwhk4JPrCfwi6qKpgCeILdr kKnH2vT7i3VNhrJwQ5s9tZc=Jz3Z -----END PGP SIGNATURE-----
Andrew Bartlett
2005-Jan-21  06:51 UTC
[Samba] Please help me decipher a two-packet NetBT conversation...
On Thu, 2005-01-20 at 10:33 -0600, David Black wrote:> My clients are Windows XP SP1 and SP2, members of a Samba-PDC NT domain > (tested 3.0.7 and 3.0.10, same result). Attached is ethereal output > of a two packet client-server exchange that takes place when an offline > files sync is done. SP1 quickly does this exchange twice - first > broadcast, then unicast (as attached) and goes on its way. SP2 tries, > pauses many seconds, tries again, finally giving up and completing the sync. > > Basically the client is attempting a SAM logon request with an empty > user name. Samba responds with user unknown.Before you spend too much time barking up the wrong tree, my understating is that the username in this UDP SamLogon request is not honoured by any modern operating system, and user-unknown is the correct reply. Giving out this information would confirm/deny a given username without authentication, which is considered a bad thing. Samba has always left it up to the logon process to actually decide this. Andrew Bartlett -- Andrew Bartlett http://samba.org/~abartlet/ Authentication Developer, Samba Team http://samba.org Student Network Administrator, Hawker College http://hawkerc.net -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://lists.samba.org/archive/samba/attachments/20050121/a7c506fe/attachment.bin