p->payload is the start of payload data; p->payload + p->payload_size is one byte past the end.<br><br>Any conversion will depend on your application.  You will have ascii for typical IP based ascii protocols.<br>
<br>Hope that helps.<br>Russ<br><br><div class="gmail_quote">On Wed, Mar 17, 2010 at 12:29 PM, Dirk Maarten van Duijn <span dir="ltr"><<a href="mailto:dirkmaarten@...2499...">dirkmaarten@...2499...</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Good day,<br><br>I am new to mailing boards in general so I hope I stick to the  unwritten rules, if not I'm sorry.<br>
Also English isn't my native language so some sentences got some issues :)<br><br>I am working on a dynamic preprocessor for Snort and I am running into some problems.<br>

The idea behind the preprocessor is that it saves a specific amount of kilobytes from a download as data, hashes that data and compares the hash to an internal whitelist.<br><br>The general idea is working, the saving; hashing and comparing.<br>


I tested this locally by implementing a stub and it seems to work like it should.<br><br>Now when I use the preprocessor like how you should use a preprocessor, using it in combination with an Internet connection, it isn't working.<br>


The preprocessor gets the packets, all is well expect the fact that the payload of the packet doesn't make sense.<br><br>It doesn't make sense in the way that the payload is empty most of the time while it shouldn't be empty.<br>


I know it isn't empty by comparing the received packets with a packet sniffer, the field matches (seq,ack etc etc) but not the payload.<br>The received packets are checked with GDB.<br><br>However, the payload size seems to be set correctly.<br>


I thought I was able to get the payload by getting the memory from p->payload + p->payloadsize.<br><br>So my actual question is this: How do I get the payload of a packet? And when I got that data how do I convert it to ASCII if possible?<br>


<br>Is there some flag I need to set somewhere to receive the data?<br>I changed the order of preprocessors.<br>I changed the priority from application to scanner and all other flags really.<br>I tried all kind of weird ways to access the memory (I'm not very skilled with C).<br>


I examined the code of the other preprocessors and they just seem to access the payload data as they are pleased.<br><br>I hope I included enough information and otherwise:<br>Thanks for reading this far<br><br>Greetings,<br>
<font color="#888888">

<br>Dirk<br><br><br><br><br><br><br><br><br><br><br><br>
</font><br>------------------------------------------------------------------------------<br>
Download Intel&#174; Parallel Studio Eval<br>
Try the new software tools for yourself. Speed compiling, find bugs<br>
proactively, and fine-tune applications for parallel performance.<br>
See why Intel Parallel Studio got high marks during beta.<br>
<a href="http://p.sf.net/sfu/intel-sw-dev" target="_blank">http://p.sf.net/sfu/intel-sw-dev</a><br>_______________________________________________<br>
Snort-devel mailing list<br>
<a href="mailto:Snort-devel@lists.sourceforge.net">Snort-devel@...1685...ceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/snort-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/snort-devel</a><br>
<br></blockquote></div><br>