[Winpcap-users] TCP/IP stack - reinventing the wheel

Mark Buchanan Mark.Buchanan at giffels.com
Tue Aug 15 15:31:22 GMT 2006

My question is similar to one that has been asked but with a significant

Basically what I would like to do is have one adapter act as multiple
computers (with separate IP address) on a network. I don't see a simple
way to do this without coding the entire TCP/IP stack to handle all
packets related to the protocol. The IP addresses would be predefined in
a text file that the application would read at start up. MAC addresses
would also be predefined in the same file. The application would then
act as a server accepting TCP/IP connections from one or more clients on
each IP address defined. This would all be done in Windows on .NET
platform. Is there code out there that can be copied and adapted by an
average programmer like myself - or am I crazy to consider doing such a

The alternative is to put multiple adapters in a single PC - this could
create quite the wiring mess if the node count gets high.

A bit of background:

I have successfully used WinPCAP encapsulated in a simple DLL file
(functions called by .NET application) to simulate multiple Ethernet
nodes in a non-TCP/IP environment. One application running on one PC
simulating 63 controllers that accepts up to 4 connections / controller.
To do this the code handles the entire OSI-COTP stack accepting and
sending all packets on the wire. This sounds like a lot of effort but
was make easier because the stack in this case was fairly simple.

Mark Buchanan

Senior Engineer, Controls Systems
Giffels Associates Limited

Mark.Buchanan at giffels.com |  T 416 675 9750 Ext. 5253  |  F 416 798 5559  |  giffels.com

    This communication is intended solely for the addressee(s) and contains information that is privileged, confidential
    and subject to copyright. Any unauthorized use, copying, review or disclosure is prohibited. If received in error,
    please notify us immediately by return e-mail.


More information about the Winpcap-users mailing list