Linux/모의해킹

ICMP 생성해서 보내기

GGkeeper 2022. 1. 13. 21:35

실습> ICMP 생성해서 보내기

1. 와이어샤크 실행
와이어샤크에서 lo 인터페이스를 선택해서 패킷을 덤프받는다.
# wireshark &

2. 패킷 조작/확인/전송
>>> pkt = IP(dst="127.0.0.1")/ICMP()/'HelloWorld'
>>> pkt
>>> pkt.show()
>>> send(pkt)

>>> pkt = IP(src=RandIP(), dst="127.0.0.1")/ICMP()/'HelloWorld'
>>> pkt
>>> pkt.show()
>>> send(pkt)
>>> send(pkt, count=3)
>>> send(pkt, loop=1)  <-- 무한루프로 보내면 부하가 걸릴 수 있으므로 실행한 후 바로 종료한다.

3. 패킷 분석
와이어샤크에서 덤프된 패킷을 확인한다.


실습> 파일로 저장해서 실행하기

1. 와이어샤크 실행
와이어샤크에서 lo 인터페이스를 선택해서 패킷을 덤프받는다.
# wireshark &

2. 소스코드 
Attacker# vi scapyICMP.py
-- scapyICMP.py --
#!/usr/bin/python3

from scapy.all import *

target = '127.0.0.1'
message = 'Hello scapy test'

# 패킷을 전송하고 이에 대한 응답을 받는 함수
#r = sr1(IP(dst=target)/ICMP()/message)
#r.show()

send(IP(dst=target)/ICMP()/message)
-- scapyICMP.py --

3. 패킷 전송
Attacker# chmod 755 scapyICMP.py
Attacker# ./scapyICMP.py

Attacker# python3
>>> import os
>>> for i in range(10):
...    os.system('./scapyICMP.py')
... 
.
Sent 1 packets.
0
.
Sent 1 packets.
0
.
Sent 1 packets.
0
.
Sent 1 packets.
0
.
Sent 1 packets.
0
.
Sent 1 packets.
0
.
Sent 1 packets.
0
.
Sent 1 packets.
0
.
Sent 1 packets.
0
.
Sent 1 packets.
0