C :: Program To Sniff WiFi Packets Without Using LPCap
Feb 5, 2015
I have a requirement to sniff the wifi packets. There are examples available which does the sniffing using pcap functionality. I need a C program which will sniff the wifi packets without using pcap functionality..
Code:
#include<pcap.h>
#include<stdio.h>
#include<stdlib.h> // for exit()
I have several machines (could be 1, 2, or 30) sending/receiving data to/from a computer via Wi-Fi. At the moment I am in the process of trying to store that data into txt files, but that is another issue. Say that I managed to have different txt files to pick up the information received, one per machine, now what I need is to process that information in the following way (will show with an example):
String data ("W" followed by the value that I need to process) is sent to the computer by every single machine, every 100 milliseconds, like:
For the example above I need to store the value "100" (in a .csv file, one per machine) as it is the last "stable" value before the reading drops quickly to zero. Afterwards, I would use the stored data to create graphs and summaries, in a "live" mode, so the graphs are refreshed with the new data as they come in from the machines. I am using C++ with Visual C++ Express.
Is there a way to access the router settings via c++? My friend wanted me to write something that would turn off wifi broadcasting on his router when pressing the button in the program. The only way I can think about is to connect to the router via .net framework and then use reverse engineering (on the router settings site) to find a way how to simulate change of option via POST or GET method.
I'm trying to get a UDP server working and just can't seem to get it to read in any UDP packets. I can see the packet coming in on the correct interface and port from tcpdump, but my program never logs that it got the data.
I just keep getting a log showing that my recvfrom timed out. I'm pretty sure I'm setting everything up correctly.
I have to write a program to take packets of information destined for certain ports then provide the current message using the packets I've gotten so far. Packets can come out of order, so when asked for the message, packets that haven't arrived yet are skipped and the next packet is appended. After giving the message, I have to delete all the current packets as well as ones that are received late, after the packets that were supposed come after the late packet were already provided in the message.
Data:Up to 1000 ports, numbered 0-64000, and each message can contain up to 1000 packets.
I captured packet that is sended to server then that button is clicked
POST (info hided)/amfgateway.php HTTP/1.1Host: (info hided) Connection: keep-alive Content-Length: 52
[Code].....
It apears that this is AMF(Action Message Format) type packet Content-Type: application/x-amf it is in binary and this complicates things a little because I cannot send it with regular httpwebreqeuest class(Or I think so)
I used Fiddler4 with AMF plugin to check what data was passed with that packet
It apears that these numbers under content / 0 are User-id that is needed to add user to friends
I did a research with little success finding any usefull examples. I just found that there is a library for FLEX/FLASH remoting called fluorinefx and this should do the job but when I opened documentation it seems little too complex for me.
Here are the segments of me trying to push the packets onto a vector:
[code] std::vector<size_t> processing_queue; //HERE IS WHERE I'M TRYING TO PUSH THE PACKETS ONTO A VECTOR processing_queue.push_back(num_rx_samps); [code]
I previously had my program saving to a .dat file (the commented out lines), but I need to change it to pushing values onto a vector so I can stream the data packets from the ethernet cable to be processed. However, the packets aren't being pushed onto the stack as I suspected. What do I need to change to push the data packets onto a vector? The following is the code:
I have a simple UDP client that should be able to send and receive packets. It does its job, however if there are no packets received for a while it stops listening for any new packets and I'm not sure what's causing it.
for (int i=0; i<nrolls; ++i){ int number = distribution(generator); cout<<number<<" "<<endl; }
(original code: [URL] ... )
This outputs: 2 3 1 4 3 4 4 3 2 3 and so on... First of all what those numbers mean? I mean do I have to sum them to create timing? For example: 2, (2+3)=5, (5+1)=6, (6+4)=10,..., and so on..
Secondly, my real question is, I need to produce both random arrivals for network packets and the size of packets. I mean, when the packets come and if packets come, what are the size of packets? How can I do that? I need something like that: [URL] ...
std::vector<size_t> processing_queue; //HERE IS WHERE I'M TRYING TO PUSH THE PACKETS ONTO A VECTOR processing_queue.push_back(num_rx_samps);
I previously had my program saving to a .dat file (the commented out lines), but I'm trying to change it to pushing values onto a vector so I can stream the data packets from the ethernet cable to be processed. However, I'm having issues with pushing the data packets onto the vector?
I wrote this simplified version of a program i am writing that parses data in UDP packets. In the process of doing so i pretty much answered all my questions and fix all the problems i was having.
decodeSystemMap function will be in loop, and will proccess packets that have mostly the same data, only a few items will be added or changed or deleted.
whats the best way to check if there are any new, deleted, or removed items in the packet and only modify those? Is there anything unsafe / dangrous about the way the code is now?
Code: /* * File: main.c * Author: david * * Created on May 23, 2013, 11:57 AM */
so my homework assignment is to make a program of which removes any notes in a program file.
for example, you run my program it will ask for a filename, when entered it opens the file, copies everything in it and removes any double forward slashes (//) and anything after that up to the new line character ( ) and anything between /* and */ including the /* and */.
i created the entire program and it removed the // and anything after that up to the new line character but will not remove anything after the first / when it finds a /*. This includes the */ at the end of the comment.
the section of code that removes the comments is
//this loop removes all notes for(i=0;i<buf.st_size;i++) { if((filecontent[i]=='/')&&(filecontent[i+1]=='/'))//removes notes using // { for(i=i;filecontent[i]!=' ';i++) filecontent[i]=' ';}
[Code]....
i know that the section that removes the multi line comments would not remove the final */ at the end if it did work, i was planning to fix that later once it removed the comment.
I have my program to load info about students from .txt file
Mrkvicka Jozef 2 1.75 2.1 0.4 1 0.49 1.27 Hrasko Jan 0.1 0.38 1 1.2 Mladek Peter 1.6 0.4 2 1.3 1.8 Petrzlen Robert 0.6 0 1.1 1.1 0.6 0.59 Horvath Ivan 1.6 0.8 0.7 1.3 1
My program is ruuning perfectly only problem is that i must transform it to program uses class, class student . Am very beginer in using classes, so far i do very easy programs using classes.
I've been working on a small SDL program and decided I wanted to throw the program on to a disc so I could show some people what I'm working on. However, when I try to run the executable, the program crashes and under more details it says that the fault lies on SDL2_ttf.dll .
Why does this program work inside of VS2012e and not in windows?
What I did :
Set the program to release, hit f6, and then tried to run the executable from windows.
Additional information :
Compiler : Visual Studio 2012 express O/S : Windows 7 64bit SDL lib : 32 bit version
For instance Code: int counter; counter =0; FILE *pfile; pfile= fopen("g:myprog.txt" "w"); while (counter >100) { fprintf (case counter{something})}; how do I do this?
I am working on a program to compute the natural log of numbers using several different methods, but I am having a couple of issues. Firstly, when using Borchardt's Algorithm I almost always end up with nan as a result, even though I am pretty sure I got the formula correct. Also, in my lnDemo.c file It doesnt give me the correct answer and the second time around I get a segmentation fault.
Code:
//myLog.h------------------------------------------------------- //These functions will compute or aproximate the natural log of a number //This method will use a formula to compute it int lnFormula(double x, int m,double *result);
I'va create a c program that scans the web from a root it works on mypc but dont works on another pc of my friend.I have created this project with Visual Studio 2013 disabling extension to obtain standard ansi c project.
I have an issue with a switch case in my program. I execute it and it does fine all the way up to where it says, "Answer (1, 2, or 3): ". When I enter 1, 2, or 3, it gives me' "Not an input choice!" from the default of the switch case.
NOTE: I use Code::Blocks on Windows XP.
Here is the code:
Code:
#include <stdio.h> #include <string.h> int main() {
Can we use more than one 'if' subroutine in one program. I am trying to implement this but if I run the two subroutines at the same time the lower subroutine directly shows "invalid grade". But if I run one at a time then they work perfectly fine.
Why is this happening? Does the compiler think that its the same "if" routine. If so how do I segregate it???
Code: printf("Enter a score:"); scanf("%d",&gr); if(gr>=80 && gr<=100) printf("A Grade "); if (gr>=60 && gr<80) printf("B Grade