|
Hi there,
I have to develope Network monitor in C++, for which I'll be using Winpcap libraries. This Network monitor will capture packets, display them, find number of packets transmitted by system per second etc. Now question is how I'll scan network using 'IP Address' because I think Winpcap is useful only if you knew MAC address. While I have to develop such software which on getting IP Address, analyze all network data that is transmitted by that computer.
I'll highly appreciate if anyone comes up with any good suggestion.
Thanks.
A Khan
|
|
|
|
|
|
Thanks for reply. But please elaborate how do you think Wnet functions will help. I have gone through MSDN, other resources and my understanding is; We CANNOT retrieve MAC address if we have IP address of any machine in network.... if this conclusion is wrong, then please do identify how can I do the same.
Thanks again.
|
|
|
|
|
i just misunderstand u. i think u need to enumarate network resources: IP, etc.
hm. how to get MAC from ip. what about network utilities, smth like nbtstat...
|
|
|
|
|
The problem you will have here is seeing the network traffic from the other computer.
If the machines are switched to the desktop you will not see the traffic from the other machine unless it is intended for you.
The only sure fire way to see the traffic is to run the capture on the machine in question. I believe that WinPcap does have a remote agent capability, or at least they are planning on adding this capability.
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Williams (Little Britain)
|
|
|
|
|
Thanks for reply, but I am still stucked since WinPCAP just cant do this all . I have to show this thing to my boss soon and I just cant figure it out, how I will be able to do this. Do you have any more suggestions, I will be highly appreciative.
|
|
|
|
|
WinPcap works by binding to a NIC in promiscuous mode. This allows the driver to see all packets that the NIC sees i.e. all packets that your computer sees.
In order to see all packets that another computer sees you need to run WinPcap on that machine (at least in a remote agent capacity). It isn't sufficient just to expect your machine to see the packets from the other machine. (See previous reply with regards to switched networks).
If it is proof of concept that you need to show your boss it can be done for the local NIC. The principles are the same for local and remote.
Writing network monitoring applications takes time and understanding of networks. Generally they are not something that can be written in a couple of days (though drivers like WinPcap help speed up development vastly). You may want to look at the RFC's for IP (RFC 791)[^], TCP (RFC 793)[^] and UDP (RFC 768)[^]. This will give you some understanding of the structure of IP packets.
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Williams (Little Britain)
|
|
|
|
|
Thanks Antony for your soon reply. I have understanding of these RFCs and protocol headers but I just cant find way to get packets being recieved by other computer, of which I only knew MAC address.
Okay Winpcap is something that is making it impossible for my appplication to do the same... So do you have any idea of some other library that can give me the functionlity I am looking for.
Thanks Again
|
|
|
|
|
Sorry.... there is correction in mail in my previous mail...
Thanks Antony for your soon reply. I have understanding of these RFCs and protocol headers but I just cant find way to get packets being recieved by other computer, of which I only knew IP address, NOT MAC address.
Okay Winpcap is something that is making it impossible for my appplication to do the same... So do you have any idea of some other library that can give me the functionlity I am looking for.
|
|
|
|
|
A Khan wrote:
So do you have any idea of some other library that can give me the functionlity I am looking for.
Sorry, on this occasion I can not help. All network monitoring software packages that I am aware of work with a remote client agent on the machines in which they want to monitor. This way they get around switch blindness.
Good look in finding a solution that suits you.
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Williams (Little Britain)
|
|
|
|
|
hi,
I am doing a MFC Project. I added several Labels for my Project. Now I want to change the Background Color Of the Label.How I do that?
if any one know the anaswer, pl reply me...
thanks....
|
|
|
|
|
You will have to override the CTL_COLOR handler for doing this. I m just giving a small example here.
HBRUSH CAdvSearchDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
switch (nCtlColor)
{
case CTLCOLOR_STATIC:
switch (pWnd->GetDlgCtrlID())
{
case IDC_STATIC:
pDC->SetBkColor(m_whiteColor);
pDC->SetTextColor(m_blackColor);
hbr = (HBRUSH) m_whiteBrush;
break;
........
Check this link as well
http://www.codeproject.com/dialog/colorfont.asp
Imagine that you are creating a fabric of human destiny with the object of making men happy in the end, giving them peace and rest at last, but that it was essential and inevitable to torture to death only one tiny creature..and to found that edifice on its unavenged tears, would you consent to be the architect on those conditions? Tell me, and tell me the truth!
-Fyodor Dostoevsky, The Brothers Karamazov
|
|
|
|
|
I'm trying to switch between multiple views within my application of which 2 are splitter views. Everything compiles fine and when I execute the application, the code I have for switching views seems to work just fine until I try clicking on any of the panes within either of the splitter views.
Once I click anywhere within a pane of the splitter view and then switch to another view and then back to the splitter view I had just clicked in, the pane within the splitter view goes blank upon returning to that particular view. Furthermore, if at this point I try to minimize or maximize my application, it will crash.
Any suggestions on what to investigate or links to any articles on how to deal with switching between views that contain splitter windows would be greatly appreciated.
Thanks in advance for any help!
|
|
|
|
|
Hello EveryOne,
Is there any Useful Link About Making and Using a
Dll?
Please a Simple Example(I am Beginner),
USING ONLY A DLL AND NOT ANY OTHER FILES.
Best Wishes,
Thanks.
|
|
|
|
|
|
Hi
I have developed one DCOM application, in which I use LogonUser() function to make user login. Then from the handle which I receive from LogonUser() I pass it to ImpersonateLogOnUser() to impersonate the logged on user. And after this I want to list all directory and files that a user has privileges to access.
This works exactly; fine in consolebase (Win32 Console Applicataion) application. But when I put the same code in my DCOM file (which I made using simple ATL COM EXE). It doesn't works as I expected.
Can any one help me or any other idea to impersonate the logged on user..?
Pls it's really important ....
Amarelia
|
|
|
|
|
I've got this file called myReloader.exe I'm trying to call.
ShellExecute(NULL,"open","myReloader.exe",NULL,NULL,SW_SHOWNORMAL);
will not work.
I've also tried
CStdioFile file;<br />
if (!file.Open("myReloader.exe",CFile::modeRead))<br />
{<br />
MessageBox("Could not find file myReloader.exe");<br />
OnOK();<br />
}<br />
else<br />
{<br />
ShellExecute(NULL,"open",file.GetFilePath(),NULL,NULL,SW_SHOWNORMAL);<br />
}<br />
file.Close();
But none of them works.
Any ideas why?
|
|
|
|
|
I've figured out what does not work, but I have no idea how to fix that.
GetLastError() with CreateProcess gives a 32 error "File in use", even thought it's not, I tried rebooting and it still does not work.
|
|
|
|
|
i think the problem is on flag "open". u r trying to run a file that u'd already opened in the same process.
u can play with ShellExecuteEx. but i strongly recommend u to use CreateProcess(...). its never let me down.
|
|
|
|
|
Hi.
This is my first time using anything to do with Matlab, so I apologize if this is a stupid question, but I would really appreciate any suggestions:
I am trying to incorporate a Matlab-created dll into some VC++ code (either VS6.0 or VS.Net – right now neither works). I can get the code to compile, but when I call a Matlab function
mxArray* pArray = mxCreateDoubleMatrix(nRows, nColumns, mxREAL);
I get the following errors:
VC6.0
Shuts the executable down without any error
VC++.Net
“An unhandled exception of type 'System.IO.FileNotFoundException' occurred in system.windows.forms.dll
Additional information: File or assembly name ________, or one of its dependencies, was not found.”
I do not have Matlab installed on my computer, but I have compiled and ran these programs on a computer that does with exactly the same results.
Does this sound familiar to anyone? I have seen references to a Matlab Add-In for Visual Studio – do I need to install this?
Any help would be greatly appreciated. Thanks.
|
|
|
|
|
I have no idea what happened, if I did it, or how to fix it. All of a sudden, when I began to run my program using ctrl f5, the program will build and then I will get a dialog box with an ICONSTOP and the title "Microsoft Development Environment" and it has the text "Unable to start debugging. The Machine Debug Manager is disabled". It doesn't run the program!!!
Well how in the world do I enable it again???
-----------------
http://www.zachcalvert.com
|
|
|
|
|
The Machine Debug Manager is a service that is running on your computer. It must be enabled and running in order for debugging to work.
To re-enable it (in Windows XP), right-click on My Computer and choose 'Manage'. In Computer Management, expand the 'Services and Applications' node, then click on 'Services'. (An alternatice to this is to use Start->Run and type 'services.msc' on the execution line)
From the list of services, browse until you find 'Machine Debug Manager'. Right-click, choose 'Properties', and set the Startup type to 'Automatic'. Then click Ok, and right-click on the service name again. This time, choose 'Start'.
Now the service is running and is automatically started when your machine boots up. The debugging should work again.
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
Is there a macro to declare a variable as intentionally unreferenced? Something like:
int nDontCare = foo();
UNREFERENCED_VAR (nDontCare)
I prefer not to take the cheesy approach, eg: VERIFY (nDontCare == nDontCare) .
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
why declare a variable if you don't intend to use it ?
you could do something like :
(void) foo();
or simply :
foo();
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
True, there are several alternatives. But I may intend to use the result at a later point in time and was wondering if there was a standard way of marking the return value as unused.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|