mirror of
https://github.com/TalAloni/SMBLibrary.git
synced 2025-07-22 17:25:54 +02:00
NetBios: Added NodeStatusRequest and improved NameQueryRequest implementation
This commit is contained in:
parent
28fa346b5b
commit
1afd4bc61d
4 changed files with 49 additions and 1 deletions
|
@ -24,7 +24,9 @@ namespace SMBLibrary.NetBios
|
||||||
{
|
{
|
||||||
Header = new NameServicePacketHeader();
|
Header = new NameServicePacketHeader();
|
||||||
Header.OpCode = NameServiceOperation.QueryRequest;
|
Header.OpCode = NameServiceOperation.QueryRequest;
|
||||||
|
Header.Flags = OperationFlags.RecursionDesired;
|
||||||
Question = new QuestionSection();
|
Question = new QuestionSection();
|
||||||
|
Question.Type = NameRecordType.NB;
|
||||||
}
|
}
|
||||||
|
|
||||||
public NameQueryRequest(byte[] buffer, int offset)
|
public NameQueryRequest(byte[] buffer, int offset)
|
||||||
|
|
45
SMBLibrary/NetBios/NameServicePackets/NodeStatusRequest.cs
Normal file
45
SMBLibrary/NetBios/NameServicePackets/NodeStatusRequest.cs
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
/* Copyright (C) 2014-2020 Tal Aloni <tal.aloni.il@gmail.com>. All rights reserved.
|
||||||
|
*
|
||||||
|
* You can redistribute this program and/or modify it under the terms of
|
||||||
|
* the GNU Lesser Public License as published by the Free Software Foundation,
|
||||||
|
* either version 3 of the License, or (at your option) any later version.
|
||||||
|
*/
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Text;
|
||||||
|
using Utilities;
|
||||||
|
|
||||||
|
namespace SMBLibrary.NetBios
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// [RFC 1002] 4.2.17. NODE STATUS REQUEST
|
||||||
|
/// </summary>
|
||||||
|
public class NodeStatusRequest
|
||||||
|
{
|
||||||
|
public NameServicePacketHeader Header;
|
||||||
|
public QuestionSection Question;
|
||||||
|
|
||||||
|
public NodeStatusRequest()
|
||||||
|
{
|
||||||
|
Header = new NameServicePacketHeader();
|
||||||
|
Header.OpCode = NameServiceOperation.QueryRequest;
|
||||||
|
Question = new QuestionSection();
|
||||||
|
Question.Type = NameRecordType.NBStat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public NodeStatusRequest(byte[] buffer, int offset)
|
||||||
|
{
|
||||||
|
Header = new NameServicePacketHeader(buffer, ref offset);
|
||||||
|
Question = new QuestionSection(buffer, ref offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] GetBytes()
|
||||||
|
{
|
||||||
|
MemoryStream stream = new MemoryStream();
|
||||||
|
Header.WriteBytes(stream);
|
||||||
|
Question.WriteBytes(stream);
|
||||||
|
return stream.ToArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,7 +7,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
|
||||||
using Utilities;
|
using Utilities;
|
||||||
|
|
||||||
namespace SMBLibrary.NetBios
|
namespace SMBLibrary.NetBios
|
||||||
|
@ -23,6 +22,7 @@ namespace SMBLibrary.NetBios
|
||||||
|
|
||||||
public QuestionSection()
|
public QuestionSection()
|
||||||
{
|
{
|
||||||
|
Class = QuestionClass.In;
|
||||||
}
|
}
|
||||||
|
|
||||||
public QuestionSection(byte[] buffer, ref int offset)
|
public QuestionSection(byte[] buffer, ref int offset)
|
||||||
|
|
|
@ -83,6 +83,7 @@
|
||||||
<Compile Include="NetBios\NameServicePackets\NameQueryRequest.cs" />
|
<Compile Include="NetBios\NameServicePackets\NameQueryRequest.cs" />
|
||||||
<Compile Include="NetBios\NameServicePackets\NameRegistrationRequest.cs" />
|
<Compile Include="NetBios\NameServicePackets\NameRegistrationRequest.cs" />
|
||||||
<Compile Include="NetBios\NameServicePackets\NameServicePacketHeader.cs" />
|
<Compile Include="NetBios\NameServicePackets\NameServicePacketHeader.cs" />
|
||||||
|
<Compile Include="NetBios\NameServicePackets\NodeStatusRequest.cs" />
|
||||||
<Compile Include="NetBios\NameServicePackets\NodeStatusResponse.cs" />
|
<Compile Include="NetBios\NameServicePackets\NodeStatusResponse.cs" />
|
||||||
<Compile Include="NetBios\NameServicePackets\PositiveNameQueryResponse.cs" />
|
<Compile Include="NetBios\NameServicePackets\PositiveNameQueryResponse.cs" />
|
||||||
<Compile Include="NetBios\NameServicePackets\Structures\NodeStatistics.cs" />
|
<Compile Include="NetBios\NameServicePackets\Structures\NodeStatistics.cs" />
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue