Skip to content

fksvs/inject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

I N J E C T

Inject is a command-line packet crafting, injection and sniffing tool that uses RAW sockets. It supports various protocols with multiple options. It is useful for network debugging and testing network services.

Supported Protocols and Key Features

  • ETHERNET (Source and destination MAC address, protocol and payload file)
  • ARP (Source and destination MAC address, source and destination IP address, ARP operation)
  • IP (Source and destination IP address, TTL, Type of Service)
  • ICMP (Type and code)
  • TCP (Source and destination port, TCP flag, payload file)
  • UDP (Source and destination port, payload file)
  • Packet sniffing (ETHERNET, ARP, IP, ICMP, TCP and UDP protocols)
  • Listing network interfaces

Installation

git clone https://github.com/fksvs/inject
git clone https://gitlab.com/fksvs/inject
  • Change directory to inject:
cd inject
  • Build the project:
make

Usage Examples

Ethernet

Inject can craft Ethernet packets with the following options:

  • Source MAC address (-K)
  • Destination MAC address (-M)
  • Ethernet type (-p)
  • Payload file (-a)

Ethernet packet with the payload payload_file.txt to the MAC address 00:11:22:33:44:55 using wlp5s0 network interface:

inject eth -i wlp5s0 -K 00:11:22:33:44:5 -a payload_file.txt

ARP

Inject can craft ARP packets with the following options:

  • Source MAC address (-K)
  • Source IP address (-S)
  • Destination MAC address (-M)
  • Destination IP address (-D)
  • ARP operation (request or reply) (-r)

ARP request from the MAC address 00:11:22:33:44:55 asking who has the IP address 192.168.0.1:

inject arp -i wlp5s0 -K 00:11:22:33:44:55 -S 192.168.1.50 -D 192.168.0.1 -r 1

IP

Inject can craft IP packets with the following options:

  • Source IP address (-S)
  • Destination IP address (-D)
  • TTL (-T)
  • Type of service (-0)

IP packet from the IP address 192.168.1.40 to the IP address 192.168.1.1 with TTL of 48:

inject ip -S 192.168.1.40 -D 192.168.1.1 -T 48

TCP

Inject can craft TCP packets with the following options:

  • Source IP address (-S)
  • Source port (-s)
  • Destination IP address (-D)
  • Destination port (-d)
  • Flags (SYN, ACK, PSH, etc.) (-f)
  • Payload file (-a)

TCP packet with the payload file payload_file.txt from the IP address 192.168.1.50 to the IP address 192.168.1.1 with the source port 4444, the destination port 80, and the SYN flag:

inject tcp -S 192.168.1.50 -s 4444 -D 192.168.1.1 -d 80 -f syn -a payload_file.txt

UDP

Inject can craft UDP packets with the following options:

  • Source IP address (-S)
  • Source port (-s)
  • Destination IP address (-D)
  • Destination port (-d)
  • Payload file (-a)

UDP packet with the payload file payload_file.txt from the IP address 192.168.0.2 to the IP address 8.8.8.8 with the source port 4444 and the destination port 53:

inject udp -S 192.168.0.2 -s 4444 -D 8.8.8.8 -d 53 -a payload_file.txt

ICMP

Inject can craft ICMP packets with the following options:

  • Source IP address (-S)
  • Destination IP address (-D)
  • Type (-t)
  • Code (-C)

ICMP packet with the IP address 192.168.0.2 to the IP address 8.8.8.8 with the ICMP type 8 (echo request) and code 0:

inject icmp -S 192.168.0.2 -D 8.8.8.8 -t 8 -C 0

Sniff

Inject can sniff following protocols:

  • Ethernet (-e)
  • ARP (-a)
  • IP (-i)
  • ICMP (-c)
  • TCP (-t)
  • UDP (-u)

Sniffing only TCP and UDP packets:

inject sniff -t -u

License

This project is free software; you can redistribute it and/or modify it under the terms of the GPLv3 license. See LICENSE for details.