Send TCP/IP pakke vha. raw sockets
Hej allesammenJeg har et svært spørgsmål (synes jeg). Jeg skal sende en TCP pakke vha. raw sockets, altså uden at først oprette en forbindelse. Jeg har fået det til at virke med en ICMP (ping) pakke, men tcp driller. Jeg bruger følgende kode:
IPEndPoint IPEndPointTo = new IPEndPoint((Dns.GetHostByName(destAddress)).AddressList[0], 34745);
EndPoint EndPointTo = (IPEndPointTo);
IPEndPoint IPEndPointFrom = new IPEndPoint((Dns.GetHostByName(Dns.GetHostName())).AddressList[0], 5412);
EndPoint EndPointFrom = (IPEndPointFrom);
mySocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Tcp);
mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);
Så konstruerer jeg de data som jeg skal sende, smider dem i et byte array der hedder buffer og kører:
mySocket.SendTo(buffer, EndPointTo);
Ved denne linie kode får jeg fejlen:
"An unhandled exception of type 'System.Net.Sockets.SocketException' occurred in system.dll
Additional information: An invalid argument was supplied"
Dette er det samme som jeg gør når jeg sender en ICMP pakke (hvilket virker). Er der nogle kald jeg skal lave som jeg ikke gør eller er der noget andet galt?
Jeg håber i kan hjælpe...jeg er desparat!