abstracta / wiresham

Simple TCP service mocking tool for replaying https://www.wireshark.org and http://www.tcpdump.org captured service traffic
Apache License 2.0
65 stars 11 forks source link

support mocking of multiple server ports in a single instance #10

Open vladtepesch opened 4 years ago

vladtepesch commented 4 years ago

it would be great if data of multiple ports of a server could be simulated in a single instance. so that they are played back synchronously rather than independently in different program instances .

rabelenda commented 4 years ago

Hi, this is an interesting request.

To be able to properly prioritize it, I would like to know if you can provide more insight in why you need such functionality: what type of application, protocol or flow are you trying to create a virtual service for?

Regards

vladtepesch commented 4 years ago

I have a data source that provides different data streams with individual frequencies. Currently I can create a tcpdump and have to split it up into the different ports and run them in different instances. while the timing in my use case is not that critical and the few milliseconds between the insstances ist not that critical, there may be use cases there it will be and at least the workflow of seperating the tcp dump and starting different instances it is at least a bit inconvenient.

Side question: did I miss something that could save the effort of filtering (and keeping the different files) . If I run the complete dump (either json or pcap) with wiresham it does not replay anything.

tomfi commented 4 years ago

I would like to add on this use case with another one.

I work on creating mock servers for my unit tests. One of the backends i need to mock is an IBM AS400, I use jt400 to connect to it.

While playing with wireshark I saw that the library connect to multiple ports (as you can also see in their docs: https://javadoc.midrange.com/ports.php)

If it will be possible to expose all the ports in the same execution it will be very helpful to mock systems that work with multiple ports.

mstrd308 commented 2 years ago

Another use case would be mocking protocols with dynamic port allocation like RPC. https://www.itprotoday.com/security/rpc-dynamic-port-allocation

So, I would appreciate it very much if you could implement this feature.

rabelenda commented 2 years ago

Hello, thank you for manifesting interest in this feature and providing additional context to the different use cases.

We will evaluate different options and let you know when we have something defined, stay tuned.

Please if someone else has similar requests, the more info we have the better to design and implement a solution that fits most use cases.

Regards