본문 바로가기
[IT 관련 지식]/[Security]

패킷 생성툴 NPING

by 판톰 2014. 5. 14.
반응형

여러 테스트를 하다 보면 패킷생성 툴을 이용 하게 되는데

간단 하지만 기능은 무시 할 수 없는 툴을 소개 하고자 한다.

 

스캐너로 유명한 NMAP 의 또 다른 기능 Nping 을 소개한다.

Nping 은 네트워크 패킷 생성 도구이자, 그 응답의 시간측정, 분석 기능을 제공한다.

Nping 은 다양한 프로토콜을 지원하고 각 프로토콜의 헤더를 조정할 수 있다.

Ping 과 같이 어렵지 않게 사용할 수 있다.

네트워크 성능 측정에도 이용될 수 있는데, ARP Poisong, DoS 공격 등과 같은 트래픽 생성도 가능하다.

Nping 은 2009년 구글 Summer of Code 로 부터 처음 시작되었다고 한다.

   

주요기능은,

- TCP, UDP, ICMP, ARP 패킷 생성

- 여러개의 호스트 및 포트 지정 가능

- Non 루트 유저를 위한 모드 제공

- 고급사용을 위한 에코모드

- 이더넷 프레임 생성 지원

- IPv6 지원

- 리눅스, 맥, 윈도우 에서 동작

- 자유롭게 커스트마이징이 가능

   

설치는 Nmap 사이트를 통해 nmap 을 설치 하게 되어지면

Dos 창 및 쉘에서 nping 을 실행 할 수 있게 되어진다.

아래는Nmap 공식 사이트 링크 이다.

http://nmap.org/

   

Nping 도움말을 보면 누구나 쉽게 사용할 수 있을 만큼 어렵지 않다.

다양한 옵션이 존재하고 몇 가지 사용 예제를 등록 해본다.

   

[Nping 옵션 ]

------------------------------------------------------------------------------------------------------

   

C:\>nping

Nping 0.6.46 ( http://nmap.org/nping )

Usage: nping [Probe mode] [Options] {target specification}

   

TARGET SPECIFICATION:

Targets may be specified as hostnames, IP addresses, networks, etc.

Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.*.1-24

PROBE MODES:

--tcp-connect : Unprivileged TCP connect probe mode.

--tcp : TCP probe mode.

--udp : UDP probe mode.

--icmp : ICMP probe mode.

--arp : ARP/RARP probe mode.

--tr, --traceroute : Traceroute mode (can only be used with

TCP/UDP/ICMP modes).

TCP CONNECT MODE:

-p, --dest-port <port spec> : Set destination port(s).

-g, --source-port <portnumber> : Try to use a custom source port.

TCP PROBE MODE:

-g, --source-port <portnumber> : Set source port.

-p, --dest-port <port spec> : Set destination port(s).

--seq <seqnumber> : Set sequence number.

--flags <flag list> : Set TCP flags (ACK,PSH,RST,SYN,FIN...)

--ack <acknumber> : Set ACK number.

--win <size> : Set window size.

--badsum : Use a random invalid checksum.

UDP PROBE MODE:

-g, --source-port <portnumber> : Set source port.

-p, --dest-port <port spec> : Set destination port(s).

--badsum : Use a random invalid checksum.

ICMP PROBE MODE:

--icmp-type <type> : ICMP type.

--icmp-code <code> : ICMP code.

--icmp-id <id> : Set identifier.

--icmp-seq <n> : Set sequence number.

--icmp-redirect-addr <addr> : Set redirect address.

--icmp-param-pointer <pnt> : Set parameter problem pointer.

--icmp-advert-lifetime <time> : Set router advertisement lifetime.

--icmp-advert-entry <IP,pref> : Add router advertisement entry.

--icmp-orig-time <timestamp> : Set originate timestamp.

--icmp-recv-time <timestamp> : Set receive timestamp.

--icmp-trans-time <timestamp> : Set transmit timestamp.

ARP/RARP PROBE MODE:

--arp-type <type> : Type: ARP, ARP-reply, RARP, RARP-reply.

--arp-sender-mac <mac> : Set sender MAC address.

--arp-sender-ip <addr> : Set sender IP address.

--arp-target-mac <mac> : Set target MAC address.

--arp-target-ip <addr> : Set target IP address.

IPv4 OPTIONS:

-S, --source-ip : Set source IP address.

--dest-ip <addr> : Set destination IP address (used as an

alternative to {target specification} ).

--tos <tos> : Set type of service field (8bits).

--id <id> : Set identification field (16 bits).

--df : Set Don't Fragment flag.

--mf : Set More Fragments flag.

--ttl <hops> : Set time to live [0-255].

--badsum-ip : Use a random invalid checksum.

--ip-options <S|R [route]|L [route]|T|U ...> : Set IP options

--ip-options <hex string> : Set IP options

--mtu <size> : Set MTU. Packets get fragmented if MTU is

small enough.

IPv6 OPTIONS:

-6, --IPv6 : Use IP version 6.

--dest-ip : Set destination IP address (used as an

alternative to {target specification}).

--hop-limit : Set hop limit (same as IPv4 TTL).

--traffic-class <class> : : Set traffic class.

--flow <label> : Set flow label.

ETHERNET OPTIONS:

--dest-mac <mac> : Set destination mac address. (Disables

ARP resolution)

--source-mac <mac> : Set source MAC address.

--ether-type <type> : Set EtherType value.

PAYLOAD OPTIONS:

--data <hex string> : Include a custom payload.

--data-string <text> : Include a custom ASCII text.

--data-length <len> : Include len random bytes as payload.

ECHO CLIENT/SERVER:

--echo-client <passphrase> : Run Nping in client mode.

--echo-server <passphrase> : Run Nping in server mode.

--echo-port <port> : Use custom <port> to listen or connect.

--no-crypto : Disable encryption and authentication.

--once : Stop the server after one connection.

--safe-payloads : Erase application data in echoed packets.

TIMING AND PERFORMANCE:

Options which take <time> are in seconds, or append 'ms' (milliseconds),

's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m, 0.25h).

--delay <time> : Adjust delay between probes.

--rate <rate> : Send num packets per second.

MISC:

-h, --help : Display help information.

-V, --version : Display current version number.

-c, --count <n> : Stop after <n> rounds.

-e, --interface <name> : Use supplied network interface.

-H, --hide-sent : Do not display sent packets.

-N, --no-capture : Do not try to capture replies.

--privileged : Assume user is fully privileged.

--unprivileged : Assume user lacks raw socket privileges.

--send-eth : Send packets at the raw Ethernet layer.

--send-ip : Send packets using raw IP sockets.

--bpf-filter <filter spec> : Specify custom BPF filter.

OUTPUT:

-v : Increment verbosity level by one.

-v[level] : Set verbosity level. E.g: -v4

-d : Increment debugging level by one.

-d[level] : Set debugging level. E.g: -d3

-q : Decrease verbosity level by one.

-q[N] : Decrease verbosity level N times

--quiet : Set verbosity and debug level to minimum.

--debug : Set verbosity and debug to the max level.

EXAMPLES:

nping scanme.nmap.org

nping --tcp -p 80 --flags rst --ttl 2 192.168.1.1

nping --icmp --icmp-type time --delay 500ms 192.168.254.254

nping --echo-server "public" -e wlan0 -vvv

nping --echo-client "public" echo.nmap.org --tcp -p1-1024 --flags ack

   

SEE THE MAN PAGE FOR MANY MORE OPTIONS, DESCRIPTIONS, AND EXAMPLES

   

------------------------------------------------------------------------------------------------------

   

[Nping example]

# These can be run with no privileges ******************************************

/* Do simple TCP connect()s to one host */
nping --tcp-connect google.com

/* Do simple TCP connect()s to multiple hosts */
nping --tcp-connect google.com ask.com yahoo.com bing.com

/* Send an UDP packet with 100 bytes of random data */
nping --udp google.com -p 53 --data-length 100

/* Try to TCP connect() to a range of ports */
nping --tcp-connect google.com -p75-85 -c 1

# These require root access ****************************************************

# Send TCP Syn with the ECN flag also set
sudo nping --tcp google.com --flags syn,ecn -p80,443

# Send UDP packet with a bogus checksum from port 1337
sudo nping --udp --badsum --source-port 1337 -p 53 google.com -v6

# Send ARP requests to 192.168.1.1
sudo nping --arp 192.168.1.1

# Send ARP requests to all host in network 192.168.1.0 (inter-probe delay = 100ms)
sudo nping --arp 192.168.1.0/24 --delay 100

# Send 300 TCP packets at a rate of 100pkts/sec
sudo nping --tcp google.com --rate 100 -c 300

# Send ICMP echo request wit custom ID and Seq fields
sudo nping google.com --icmp --icmp-type echo --icmp-id 31337 --icmp-seq 1

# Send ICMP echo reply
sudo nping google.com --icmp --icmp-type echo-reply

# Send ICMP Parameter problem with custom pointer
sudo nping google.com --icmp --icmp-type parameter-problem --icmp-param-pointer 9

# Send ICMP Source Quench
sudo nping google.com --icmp --icmp-type source-quench -v6

# Send ICMP Time Exceeded because time exceeded during reassembly
sudo nping google.com --icmp --icmp-type te --icmp-code frag-exc -v5

# Send ICMP Router Advertising with 2 entries
sudo nping google.com --icmp --icmp-type 9 --icmp-advert-entry 1.1.1.1,300 --icmp-advert-entry 33.33.33.33,12345 -v6

   

한가지 팁 중 테스틀 위해 지속적으로 패킷을 발생 해야 할 경우 기본 5번 패킷 을 발생하기 때문에

   

아래 첨부 한 화면 처럼 -c 0 옵션 을 주면 되어진다.

   

   

   

위와 같은 툴을 이용 할 때는 테스트 목적으로 이용 하길 권합니다.

반응형

'[IT 관련 지식] > [Security]' 카테고리의 다른 글

SSH Brute-force 공격  (0) 2014.09.01
iptables 시간 정책  (0) 2014.08.16
오픈SSL 보안취약점  (0) 2014.05.10
웹캠 훔쳐보기 해킹 비상  (0) 2014.05.10
iptables 이용한 icmp 차단  (0) 2013.02.25