Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

for example, 1 when I'm using some programs, like visiting websites using firefox if the webserver send my program some data, my program TCP stack will issue an ACK packet. Is it possible to intercept this ACK packet, modify it and then send it out

2 when a program receives some tcp data or tcp ack packet from network, is it possible to intercept these packets and then deliver them to the program TCP stack?

someone says Deep packet Inspection(DPI) is OK, is it true or not? DPI can be deployed in a PC like laptop? so What I'm trying to do is like to add a layer between the network and the TCP stack of a machine.

thanks!

share|improve this question

closed as not a real question by Nifle, oKtosiTe, Renan, 8088, Scott Mar 22 '13 at 1:40

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

    
What OS? This is possible via netfilter on Linux. –  Zoredache Mar 21 '13 at 18:12
    
On Windows, I have used a product that does packet tagging to aid in parental controls. So it is possible on Windows too, but not easy. I believe you need to create a NDIS filter driver. Drivers must be programmed in C/C++, and the base footprint it ~ 10,000 lines of code (at least that what a friend of mine told me who used to write Windows drivers for Microsoft). –  James L. Mar 21 '13 at 18:14
    
wow, on linux is already great! so are there any example source codes? beside, if there are universal solution for all OS, that's better! –  user138126 Mar 21 '13 at 18:15
    
if I just want to intercept ACK packet, is it easier to find a simple and universal solution? –  user138126 Mar 21 '13 at 18:17
    
You won't be able to write a single solution that works on all platforms (e.g., Linux, Windows, OSX, etc.). However, a single driver should work for all versions of Windows. Although, you'll have to create a 32-bit and 64-bit driver to support both types of Windows. –  James L. Mar 21 '13 at 18:18

Browse other questions tagged or ask your own question.