|
Router should be transparent for all your computer network applications based on IP stack or upper. Check router config and if there's no firewall on it.
|
|
|
|
|
tcp/ip socket with proxy support using the great proxy library found in mentalis.org?
Regards,
unruledboy@hotmail.com
|
|
|
|
|
exception throws: missing types
in following source code lines:
this.stats_perf_counter_array=new System.Diagnostics.PerformanceCounter[10]
{
new System.Diagnostics.PerformanceCounter( "TCP","Segments Received/sec"),
new System.Diagnostics.PerformanceCounter( "TCP","Segments Sent/sec"),
new System.Diagnostics.PerformanceCounter( "IP","Datagrams Received/sec"),
new System.Diagnostics.PerformanceCounter( "IP","Datagrams Sent/sec"),
new System.Diagnostics.PerformanceCounter( "UDP","Datagrams Received/sec"),
new System.Diagnostics.PerformanceCounter( "UDP","Datagrams Sent/sec"),
new System.Diagnostics.PerformanceCounter( "ICMP","Messages Received/sec"),
new System.Diagnostics.PerformanceCounter( "ICMP","Messages Sent/sec"),
new System.Diagnostics.PerformanceCounter("Network Interface", "Bytes Received/sec", this.comboBox_stat_interface.Text),
new System.Diagnostics.PerformanceCounter("Network Interface", "Bytes Sent/sec", this.comboBox_stat_interface.Text)
};
something is missing in my windows 2003 server
Regards,
unruledboy@hotmail.com
|
|
|
|
|
Hi
PerformanceCounter is not supported by win98 and win CE (next version of networkstuff will avoid to throw error); but should be supported by 2003 server. To check available PerformanceCounter on your machine, just launch perfmon.msc (windows/run). Next, under system monitor, click the add button to add a graph: all available performance counter will be shown. you can use the perfom c# sample available in the msdn 2003 (PerfMon sample [C#] in the index). Tell me if some of counter are missing
Best regards
|
|
|
|
|
I am using win 2003! but I am not sure whether I have installed the performance counter, it is default installation of windows 2003
Regards,
unruledboy@hotmail.com
|
|
|
|
|
this.stats_perf_counter_array=new System.Diagnostics.PerformanceCounter[10]
{
new System.Diagnostics.PerformanceCounter( "TCPv4","Segments Received/sec"),
new System.Diagnostics.PerformanceCounter( "TCPv4","Segments Sent/sec"),
new System.Diagnostics.PerformanceCounter( "IPv4","Datagrams Received/sec"),
new System.Diagnostics.PerformanceCounter( "IPv4","Datagrams Sent/sec"),
new System.Diagnostics.PerformanceCounter( "UDPv4","Datagrams Received/sec"),
new System.Diagnostics.PerformanceCounter( "UDPv4","Datagrams Sent/sec"),
new System.Diagnostics.PerformanceCounter( "ICMP","Messages Received/sec"),
new System.Diagnostics.PerformanceCounter( "ICMP","Messages Sent/sec"),
new System.Diagnostics.PerformanceCounter("Network Interface", "Bytes Received/sec", this.comboBox_stat_interface.Text),
new System.Diagnostics.PerformanceCounter("Network Interface", "Bytes Sent/sec", this.comboBox_stat_interface.Text)
};
|
|
|
|
|
Hello Jacquelin,
I downloaded the VS 2002 code, builded the solution and got the following message: ...'arp_header.cs' could not be opened ('The system cannot find the file specified. ')
Please advise what I'm doing wrong?
Thanks, Roelf
|
|
|
|
|
just remove it from project. Arp can't be forge from windows API (windows just allows to access IP stack). It was a try before a removal. I do appoligize it still in vs2002 source code. Remember the vs 2002 project is no more maintained and still contains severals bugs removed in the 2003 projects.
Best Regards
Jacquelin
|
|
|
|
|
Hello Jacquelin,
I downloaded the VS 2002 code and got the following message:
arp_header.cs' could not be opened ('The system cannot find the file specified. ')
|
|
|
|
|
It could be a stupid question, but how could I display and act on the Routing Windows Table? My application must change Windows' routes, depending on running process. But I can't manage to do that!
I use the FX Beta 2.0...
Thanks for helpin'
|
|
|
|
|
take a look at MSDN SDK
"Routing Protocol Interface Functions"
AddInterface
ConnectClient
DeleteInterface
DisconnectClient
DoUpdateRoutes
GetEventMessage
GetGlobalInfo
GetInterfaceInfo
GetMfeStatus
GetNeighbors
InterfaceStatus
MibCreate
MibDelete
MibGet
MibGetFirst
MibGetNext
MibSet
MibSetTrapInfo
QueryPower
RegisterProtocol
SetGlobalInfo
SetInterfaceInfo
SetPower
StartComplete
StartProtocol
StopProtocol
UnbindInterface
If the routing protocol supports service handling, implement the following function in addition to those listed preceding:
DoUpdateServices
|
|
|
|
|
The problem is that the indicated solution is available only on Windows Servers...
But you put me on solution way, and I manage to find that :
GetIpForwardTable, in the "IP Helper" MSDN SDK Section. But it seems to be really complex to interface it with C# code...
There is non easier solution, directly integrated in the C# FX 2.0?
|
|
|
|
|
Hi all,
I was trying the packet forging method.
But in the line
socket.SendTo(this.encode(),new IPEndPoint(new IPAddress(network_convert.switch_UInt32(this.destination_address)),remote_port));
it is throwing the following exception.
"A blocking operation was interrupted by a call to WSACancelBlockingCall".
Thanks in advance.
|
|
|
|
|
The Socket trys to Blocking the thread by this operations.
If you set Socket.Blocking = false, this exception is thrown.
-- modified at 4:43 Monday 12th June, 2006
|
|
|
|
|
I am trying to write a firewall with packet filtering capability and i found your project very usefull.it helps me a lot to understand how this level of sniffing is possible with C#.
is it possible to block(Filter) Packets with Socket?
|
|
|
|
|
Since you chose the GPL license, does that really mean I'd have to provide the complete source code for any app I make that includes any of the classes you've provided? If so, I really hope this doesn't become a trend here at CodeProject; they'll need a filter to hide articles with GPL code then ![Frown | :(](https://codeproject.global.ssl.fastly.net/script/Forums/Images/smiley_frown.gif)
|
|
|
|
|
extract of the gpl faq:
"I'd like to incorporate GPL-covered software in my proprietary system. Can I do this?
You cannot incorporate GPL-covered software in a proprietary system. The goal of the GPL is to grant everyone the freedom to copy, redistribute, understand, and modify a program. If you could incorporate GPL-covered software into a non-free system, it would have the effect of making the GPL-covered software non-free too.
A system incorporating a GPL-covered program is an extended version of that program. The GPL says that any extended version of the program must be released under the GPL if it is released at all. This is for two reasons: to make sure that users who get the software get the freedom they should have, and to encourage people to give back improvements that they make.
However, in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program.
The difference between this and "incorporating" the GPL-covered software is partly a matter of substance and partly form. The substantive part is this: if the two programs are combined so that they become effectively two parts of one program, then you can't treat them as two separate programs. So the GPL has to cover the whole thing.
If the two programs remain well separated, like the compiler and the kernel, or like an editor and a shell, then you can treat them as two separate programs--but you have to do it properly. The issue is simply one of form: how you describe what you are doing. Why do we care about this? Because we want to make sure the users clearly understand the free status of the GPL-covered software in the collection.
If people were to distribute GPL-covered software calling it "part of" a system that users know is partly proprietary, users might be uncertain of their rights regarding the GPL-covered software. But if they know that what they have received is a free program plus another program, side by side, their rights will be clear."
You're quite fun: you like to download sources made by others but don't want to share your one...
|
|
|
|
|
I have no qualms about sharing any changes/additions to original classes, but you're also forcing every program that uses these classes to be open-source; a large part of CodeProject's audience are commercial programmers. Could you consider changing to a difference license? You're needlessly preventing a large part of the programmer population from benefiting from your work ![Frown | :(](https://codeproject.global.ssl.fastly.net/script/Forums/Images/smiley_frown.gif)
|
|
|
|
|
"a large part of CodeProject's audience are commercial programmers"
that means you selling code written by other people... that's why I put my code in GPL sorry for you ![Frown | :(](https://codeproject.global.ssl.fastly.net/script/Forums/Images/smiley_frown.gif)
|
|
|
|
|
Sorry for most CodeProject people...
All I'd like is to use the udp.Socket_Server class in a freeware program, without having to release the complete source code for the entire program. GPL certainly has its uses, but for entire programs; not for a simple class or two that make lives of hobbyist (or commercial) programmers easier ![Frown | :(](https://codeproject.global.ssl.fastly.net/script/Forums/Images/smiley_frown.gif)
|
|
|
|
|
I agree. The LGPL would have been a far more appropriate license for this code. Hopefully the author will reconsider using LGPL as it still allows updates to HIS code to be re-released to the public without us having to release our entire products of which his code may only contribute a small piece to.
|
|
|
|
|
Hi,
there is also LGPL - this is perfect for releasing classes which are part of libraries.
Pickig up the ideas and doing some sort of reverse engineering might be the problem you
are faced with.
Personally I do only use lgpl copyrighted code, not being confronted with legal stuff.
|
|
|
|
|
No, it's got nothing to do with stealing code. I head up two open source projects that are released under the Apache License. They're free. Because of GPL licensing, though, I can't use any GPL code in my free projects. Would you claim that the Apache projects aren't in the spirit of open-source?
Most Code Project visitors work for companies that have internal applications. They don't sell these applications - they're purely to support their business. GPL code requires that you release your code for all...something that causes problems when you're dealing with intellectual property issues.
I'd strongly recommend publishing it under the LGPL or something more flexible like the BSD, MIT or Apache licenses.
I'd like it if Code Project didn't allow GPL code, since it's too restrictive.
|
|
|
|
|
I agree GPL is a poor choice for a CP article. Thanks for pointing that out before I downloaded it, I wish CP would require license disclosure in the article.
-- modified at 11:34 Monday 24th July, 2006
|
|
|
|
|
I have been trying to build a port scanner just to learn a bit more about tcp/ip and socket programming. I came across your code and it helped me speed up my development.
The problem I am having is that when I try and create a TCP connection to a remote client using either your tcp_header class or mine, when I send the SYN flag I get back a SYN flag. However, when looking at the data through something like Ethereal I can see that in fact a SYN/ACK is sent back. What could I be doing wrong??
Thanks.
|
|
|
|