36
36
#include "packet-smb-common.h"
38
38
static int proto_smb_logon = -1;
39
static int proto_smb_netlogon = -1;
40
static int proto_smb_ntlogon = -1;
39
41
static int hf_command = -1;
40
42
static int hf_computer_name = -1;
41
43
static int hf_unicode_computer_name = -1;
44
static int hf_unknown_int = -1;
42
45
static int hf_server_name = -1;
43
46
static int hf_user_name = -1;
44
47
static int hf_domain_name = -1;
48
static int hf_server_dns_name = -1;
49
static int hf_forest_dns_name = -1;
50
static int hf_domain_dns_name = -1;
45
51
static int hf_mailslot_name = -1;
46
52
static int hf_pdc_name = -1;
47
53
static int hf_unicode_pdc_name = -1;
747
dissect_smb_pdc_response_ads(tvbuff_t *tvb, packet_info *pinfo _U_,
748
proto_tree *tree, int offset)
750
/* Netlogon command 0x17 - decode the response from PDC ADS */
751
/* Netlogon command 0x19 - decode the response from PDC ADS USER ?*/
753
/* Align to four-byte boundary */
754
offset = ((offset + 3)/4)*4;
756
/* unknown uint32 type */
757
proto_tree_add_item(tree, hf_unknown32, tvb, offset, 4, TRUE);
761
proto_tree_add_item(tree, hf_domain_guid, tvb, offset, 16, TRUE);
764
/* forest dns name */
765
offset=dissect_ms_compressed_string(tvb, tree, offset, hf_forest_dns_name, FALSE, NULL);
767
/* domain dns name */
768
offset=dissect_ms_compressed_string(tvb, tree, offset, hf_domain_dns_name, FALSE, NULL);
770
/* server dns name */
771
offset=dissect_ms_compressed_string(tvb, tree, offset, hf_server_dns_name, FALSE, NULL);
774
offset=dissect_ms_compressed_string(tvb, tree, offset, hf_domain_name, FALSE, NULL);
777
offset=dissect_ms_compressed_string(tvb, tree, offset, hf_server_name, FALSE, NULL);
780
offset=dissect_ms_compressed_string(tvb, tree, offset, hf_user_name, FALSE, NULL);
782
/* server_site name */
783
offset=dissect_ms_compressed_string(tvb, tree, offset, hf_server_site_name, FALSE, NULL);
785
/* client_site name */
786
offset=dissect_ms_compressed_string(tvb, tree, offset, hf_client_site_name, FALSE, NULL);
788
/* unknown uint8 type */
789
proto_tree_add_item(tree, hf_unknown8, tvb, offset, 1, TRUE);
792
/* unknown uint32 type */
793
proto_tree_add_item(tree, hf_unknown32, tvb, offset, 4, TRUE);
797
proto_tree_add_item(tree, hf_server_ip, tvb, offset, 4, FALSE);
800
/* unknown uint32 type */
801
proto_tree_add_item(tree, hf_unknown32, tvb, offset, 4, TRUE);
804
/* unknown uint32 type */
805
proto_tree_add_item(tree, hf_unknown32, tvb, offset, 4, TRUE);
809
proto_tree_add_item(tree, hf_nt_version, tvb, offset, 4, TRUE);
813
offset = display_LMNT_token(tvb, offset, tree);
816
offset = display_LM_token(tvb, offset, tree);
732
822
dissect_smb_unknown(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset)
734
824
/* display data as unknown */
819
909
dissect_smb_sam_logon_req, /* 0x12 (SAM LOGON request ) */
820
910
dissect_smb_sam_logon_resp, /* 0x13 (SAM LOGON response) */
821
911
dissect_smb_unknown, /* 0x14 (SAM Response during LOGON Pause) */
822
dissect_smb_unknown, /* 0x15 (SAM Response User Unknown) */
912
dissect_smb_sam_logon_resp, /* 0x15 (SAM Response User Unknown) */
823
913
dissect_smb_unknown, /* 0x16 (SAM Response to Interrogate)*/
824
dissect_smb_unknown, /* 0x17 (SAM AD response User Unknown*/
914
dissect_smb_pdc_response_ads, /* 0x17 (SAM AD response User Unknown*/
825
915
dissect_smb_unknown, /* 0x18 (Unknown command) */
826
dissect_smb_unknown /* 0x19 (SAM LOGON AD response) */
916
dissect_smb_pdc_response_ads /* 0x19 (SAM LOGON AD response) */
890
980
{ "Server Name", "smb_netlogon.server_name", FT_STRING, BASE_NONE,
891
981
NULL, 0, "SMB NETLOGON Server Name", HFILL }},
983
{ &hf_server_dns_name,
984
{ "Server DNS Name", "smb_netlogon.server_dns_name", FT_STRING, BASE_NONE,
985
NULL, 0, "SMB NETLOGON Server DNS Name", HFILL }},
894
988
{ "User Name", "smb_netlogon.user_name", FT_STRING, BASE_NONE,
895
989
NULL, 0, "SMB NETLOGON User Name", HFILL }},
898
992
{ "Domain Name", "smb_netlogon.domain_name", FT_STRING, BASE_NONE,
899
993
NULL, 0, "SMB NETLOGON Domain Name", HFILL }},
995
{ &hf_domain_dns_name,
996
{ "Domain DNS Name", "smb_netlogon.domain_dns_name", FT_STRING, BASE_NONE,
997
NULL, 0, "SMB NETLOGON Domain DNS Name", HFILL }},
999
{ &hf_forest_dns_name,
1000
{ "Forest DNS Name", "smb_netlogon.forest_dns_name", FT_STRING, BASE_NONE,
1001
NULL, 0, "SMB NETLOGON Forest DNS Name", HFILL }},
901
1003
{ &hf_mailslot_name,
902
1004
{ "Mailslot Name", "smb_netlogon.mailslot_name", FT_STRING, BASE_NONE,
903
1005
NULL, 0, "SMB NETLOGON Mailslot Name", HFILL }},
1027
1129
{ &hf_nt_date_time,
1028
1130
{ "NT Date/Time", "smb_netlogon.nt_date_time", FT_ABSOLUTE_TIME, BASE_NONE,
1029
1131
NULL, 0, "SMB NETLOGON NT Date/Time", HFILL }},
1134
{ "Unknown", "smb_netlogon.unknown", FT_UINT8, BASE_HEX,
1135
NULL, 0, "Unknown", HFILL }},
1138
{ "Unknown", "smb_netlogon.unknown", FT_UINT32, BASE_HEX,
1139
NULL, 0, "Unknown", HFILL }},
1142
{ "Domain GUID", "smb_netlogon.domain.guid", FT_BYTES, BASE_HEX,
1143
NULL, 0x0, "Domain GUID", HFILL }},
1146
"Server IP", "smb_netlogon.server_ip", FT_IPv4, BASE_NONE,
1147
NULL, 0x0, "Server IP Address", HFILL }},
1149
{ &hf_server_site_name,
1150
{ "Server Site Name", "smb_netlogon.server_site_name", FT_STRING, BASE_NONE,
1151
NULL, 0, "SMB NETLOGON Server Site Name", HFILL }},
1153
{ &hf_client_site_name,
1154
{ "Client Site Name", "smb_netlogon.client_site_name", FT_STRING, BASE_NONE,
1155
NULL, 0, "SMB NETLOGON Client Site Name", HFILL }},
1032
1158
static gint *ett[] = {