Sending UDP Raw socket
Posted on
16th Feb 2014 07:03 pm by
admin
I truly need help on this. I am trying to write a test program that simulate a network environment that have 5 clients and 1 server. To do so, I need to be able to edit IP header to change it's source address and various other values in the header. To change it, I need to use socket raw and IP_HRINCL socket option.
However, it doesn't work during the send with error 10049, "Address not available" from WSAGetLastError(). I am wondering how would I do so, and can I please look at a simple example on how to change your IP header and send it. By the way, I am using winsock with VC++, and my os is XP. I know there are some issues regarding XP's compatibility with Raw socket. In addition, if winsock is not a viable option, is there anyway for me to write in lower socket?
Did you know?Explore Trending and Topic pages for more stories like this.
Here's my code
Code:
#include
#include
#include
using namespace std;
int initialize();
void main()
{
initialize();
SOCKET sock = socket(AF_INET,SOCK_RAW,IPPROTO_IP);
int error;
char on = 1;
setsockopt(sock,IPPROTO_IP,IP_HDRINCL,&on,sizeof(on));
if(sock == INVALID_SOCKET)
cout << "Crap raw socket " << endl;
/* Header data */
unsigned char header[32] = {0x45,0x00,0x00,0x20,0x01,0xf1,0x00,0x00,0x05,0x11,0x9c,0x0a,0x05,0x3a,0x38,0x02,0xe0,
0x02,0xfa,0x93};
memset(header+20,0,12);
SOCKADDR_IN sock_add;
sock_add.sin_family = AF_INET;
sock_add.sin_port = htons(1542);
sock_add.sin_addr.s_addr = inet_addr("192.168.1.1");
error = sendto(sock,(char*)header,32,0,(LPSOCKADDR)&sock_add,sizeof(SOCKADDR_IN));
}
int initialize()
{
int t;
/* Before any Winsock function to work, we need to call to wsock.dll to initialize those
functions */
WSADATA wsa_data;
t = WSAStartup(MAKEWORD(1,1), &wsa_data);
if(t != 0)
return -1;
else
return 0;
}
Your Answer:
Login to answer
118
39
Other forums
Changing color in GD via variable?
Hey guys, I'm new here. x)
I'm very much a noob when it comes to PHP, but I'm trying to learn
mysql select query problem
how can i select multiple fields from multiple table in one query like
i have table name t1 a
News script
Hi ...
I am not sure if this is the rite place to post this but if its not sorry
i am
ctype() validation - allowing illegal characters
Hello,
I use ctype() to filter and validate a user form. However, I am trying to allow certain c
reorder sql query
ok so i have this very simple code:
Code: $query = "SELECT search_keywords, COUNT(search_key
Multiple upload and Resize
I would like some help on my script I have the for my index.php
////
<html&
Get value from Select menu
Hi!
Have tried to find the solution on the web. Don't know if there is an easy one. A descrip
weird problem
last time, i did post a topic concerning why my page sometime will load as blank page when using IE.
Receive Rosettanet Message to SAP 4.6c
Dear all ,
My customer will send the PO details by rosettanet message , Is it
onClick='location.href=index.htm'> not working
Below is my code:
echo "<input type='button' value='redirect' onClick='location.h