I am trying to create a fake dns response message from a valid dns query.
I have finished the code and created the response message according to RFC 1035 but I am not sure if it would work if I send it to the source. is there any way or tool to check the message my code generates is valid or not?
Update your program to receive DNS queries on UDP port 53 and to send your replies back. You can then use any DNS client to see if your answers are interpreted as desired. An example client is ISC dig, which can be run as dig #127.0.0.1 example.com. There are many examples on the web that illustrate how to build a simple DNS server; a particularly short one is https://github.com/wfelipe/simple-dns
Related
I will try to express it as good as a can. I need to create an online chat but NOT a group chat, but a private one.I mean i need a server where a lot of client can connect and each one of them can send a message to another client(if he knows his IP or Username). If the receiver is offline he will receive the message when he will connect to the serve(the easy part). If he is online he could do 2 jobs:
1.Send message to another client
2.Receive a message from another client.
My problem is how to interupt the sending process and tell the client that he has a new unread message?
I am looking up to use the SIGIO signal,but i am really not familiar.Am i in the right way?
PS:The server is running in an embedded system.
in a Silverlight application, we used to send requests from client to server and receive its response.
is it possible to send an information from server to client which is not waiting for? for example server ask client to update a text in a special text box and so on. "an info or known command which may come to client any time and is not a response to the client's request"?
You can use Duplex Services for this.
Well, majority of the HTTP Post and Get operations are from device to the server. The server port listening to the request and send response accordingly.
Now What if doing in reverse, the Server pushing the data out to devices. The device is listening on its port and The server would use the POST operations to push the data.
Is there an example, that the device handle this type of PUSH, or reverse HTTP POST operation?
Their are a number of ways to accomplish this. This is generally referred to as push. The following may help to get you started:
https://en.wikipedia.org/wiki/Push_technology#HTTP_server_push
There are a number of solutions available to do this. The one I'm most familiar with is NGiNX's HTTP push module. The site provides some example code to get you started.
Iam writing a C program to interact with HTTPs server. Server is expecting the data without
any assignments(Ex: normally a request can be "https://xz.aspx?name=google" where as is it
possible to send the name "https://xz.aspx?google"). Currently server is getting an entry
log for my request but not able to fetch request data.
1.Is it possible to send a value with out assignment?
2.Will .net look for default assignments?
3.Is there anything else to probe?
The data you're sending is just whatever you put in the query part of the request-uri in the HTTP request.
That data can be almost anything you like (as long as it is using letters that are valid according to RFC2616). The "assignments" concept is not something HTTP knows or uses, it is just a common way for clients and servers to deal with the data.
so... Yes, you can send a value "without assignment" with curl. Weather the receiver will like it or understand it is a completely different matter.
I need one server to receive ip requests from clients(there are not in the same intranet), and I can
route all the response packets to a special gateway server, and then I send the response packages to
clients after some processing. it is like VPN, but I want to do some development based one
opensource project, so i can control it myself.
any suggestion? thanks!
There is OpenVPN which is as the name already suggests open source.
You could set up the server on the local one as a kind of proxy (or reverse-proxy depending on your viewpoint) and have the clients connect to it.
It depends what protocol you're using, maybe it has explicit proxy capability or you can get an existing proxy program, or just proxy it using a simple socket forwarder program.