2
Socket socket1 = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);
socket1.Bind(new IPEndPoint(ipAddress, 0));
socket1.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, true);
byte[] byTrue = new byte[] { 1, 0, 0, 0 };
byte[] byOut = new byte[] { 1, 0, 0, 0 };
socket1.IOControl(IOControlCode.ReceiveAll, byTrue, byOut);
byte[] buffer1 = new byte[4096];
socket1.BeginReceive(buffer1, 0, buffer1.Length, SocketFlags.None, new AsyncCallback(OnReceive), new Tuple<Socket, byte[]>(socket1, buffer1));
我使用此代碼來捕獲IP數據包,對所有端口的適配器上。如何在C#中捕獲SMB/CIFS數據包?
我該如何修改此代碼以捕獲SMB/CIFS數據包?將附加數據包捕獲庫添加到項目/代碼並不是最好。