[mdlug] Reverse-engineering data protocols

Aaron Kulkis akulkis00 at gmail.com
Tue Mar 1 14:44:20 EST 2011


David McMillan wrote:
>      Probably rather off-topic for this list, but I'm hoping somebody 
> might know somebody....
> 
>      Here's my situation:  For a lot of R&D labwork I'm currently doing, 
> one of my sensor systems is capable of streaming selected realtime data 
> across a TCP connection to a remote piece of logging software.  But *of 
> course,* the logging software only works under Windows.  Which I could 
> probably deal with, except that the logging software is also pretty 
> primitive -- saving a logfile down to a tab-separated text file so that 
> my own postprocessing scripts can <ahem> Do Science To It requires a 
> series of manual operations.  There's no way to automate it.  I've 
> actually managed to semi-automate the process using WinXP scripting, but 
> there's a rub: I have yet to find a way to get the script to trigger 
> automatically[1].
> 
>      So, naturally, I decided this was a Behold The True Power of Linux! 
> situation, and decided it was time to learn how to write my own 
> replacement for this proprietary logging software.  So I did a test run, 
> logging the raw port data with WireShark and saving the output of the 
> saved file... and hit a wall.
>      I'm *pretty* certain that this data isn't enciphered to prevent 
> third-party access, but it's not plaintext being pushed through a 
> Telnet-esque connection either.  So I'm a bit stuck.
> 
> [1] boring details:  the logging software acts as a "server," listening 
> on a particular port.  It starts logging as soon as the port opens.  The 
> tricky bit is that all the logged data *gets erased* without being saved 
> if/when the port is closed, and the port gets closed from the "client" 
> end (the test rig) as soon as I hit Reset to begin another measurement.  
> Getting around this requires me to keep running back and forth between 
> machines, which gets awfully tedious when I'm sometimes doing dozens of 
> test runs per hour.  So the key event to detecting when to save the 
> logged data is to detect first the port opening, followed by a halt to 
> port activity.  Which I haven't been able to figure out a way to do 
> under WinXP.


Have you contacted the manufacturer?

It would probably be simpler for them to just write a small
bit of code to close the logging file, and start a new one
(with a different name), and send you a new file.

And no, I don't like Windows at all -- but without feedback
from users, they'll never know that their logging software
is the pits.



More information about the mdlug mailing list