Packet injection

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Packet injection (also known as forging packets or spoofing packets) is a computer networking term that refers to the process of interfering with an established network connection, by means of constructing packets to appear as if they are part of the normal communication stream. The packet injection process allows an unknown third party to disrupt or intercept packets from the consenting parties that are communicating, which can lead to degradation or blockage of users' ability to utilize certain network services or protocols. Packet injection is commonly used in man-in-the-middle attacks and denial-of-service attacks.


By utilizing raw sockets, NDIS function calls, or direct access to a network adapter kernel mode driver, arbitrary packets can be constructed and injected into a computer network. These arbitrary packets can be constructed from any type of packet protocol (ICMP, TCP, UDP, and others) since there is full control over the packet header while the packet is being assembled.

General procedure[edit]

  • Raw socket must be created
  • Create the Ethernet header in memory
  • Create the IP header in memory
  • Create the TCP header or UDP header in memory
  • Create the data in memory
  • Assemble the headers and data together (concatenate) to form the packet
  • Compute and set correct IP and TCP or UDP checksums
  • Send the packet out through the raw socket


Packet injection has been used for:

Detecting packet injection[edit]

Through the process of running a packet analyzer or packet sniffer on both network service access points trying to establish communication, the results can be compared. If point A has no record of sending certain packets that show up in the log at point B, and vice versa, then the packet log inconsistencies show that those packets have been forged and injected by an intermediary access point. Usually TCP resets are sent to both access points to disrupt communication.[2][3][4]


See also[edit]

External links[edit]


  1. ^
  2. ^ a b
  3. ^
  4. ^