패킷 재전송이나 변조의 도구에는 tcpreplay, scapy 등이 있습니다. 오늘은 tcpreplay 사용법에 대해서 알아보도록 하겠습니다.
패킷 재전송하는 이유
패킷을 전송하는 행위의 목적은
- 공격 패킷, 다량의 패킷의 트래픽을 발생시키는 테스트
- 세션이나 비정상 패킷에 대한 테스트
이 외에도 다양한 네트워크 테스트를 위해서 사용이 가능합니다. 보안 프로그램을 다루는 분들이라면 더욱이 많이 사용하시게 될 것이고, 이 방법을 알고 계신다면 아주 유용한 유틸리티가 될 것 입니다.
tcpreplay 설치
$ sudo apt-get install tcpreplay
To install tcpreplay on Fedora, simply run:
$ sudo yum install tcpreplay
To install tcpreplay on CentOS or RHEL 5 or earlier, firstset up RPMforge repository on your system. Then, installtcpreplay using yum.
$ sudo yum install tcpreplay
To install tcpreplay on CentOS or RHEL 6 or higher, build tcpreplay from the source, and install it manually as follows.
$ sudo yum groupinstall "Development Tools"
$ sudo yum install libpcap-devel
$ wget http://downloads.sourceforge.net/project/tcpreplay/tcpreplay/3.4.4/tcpreplay-3.4.4.tar.gz
$ tar xvfvz tcpreplay-3.4.4.tar.gz
$ cd tcpreplay-3.4.4
$ ./configure --enable-dynamic-link
$ make
$ sudo make install
방화벽 설정(reset 패킷 drop)
rst 패킷이 날아가지 않도록 방화벽 설정
iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP
pcap 파일 패킷 전송하기
eth0으로 packet.pcap 파일 전송
# tcpreplay -i eth0 packet.pcap
eth1으로 test.pcap 파일을 전송, 자세한 내용 출력
# tcpreplay -i eth1 test.pcap -v
재전송한 패킷의 간단한 정보와 성공, 실패 패킷 개수가 나타나게됩니다.
tcpreplay 옵션
--pps // 초당 몇개의 패킷을 보낼 것인지 --pps=100은 초당 100패킷
--mbps // 초당 얼마의 속도로 보낼 것인지 --mbps=10.0 초당 10mbps 속도
--topspeed / 가장 빠른 속도로 전
--multiplier / 속도 조절 0.5라면 원래 속도의 절반
-h / 사용법 출력 (헬프 메뉴)
--listnics / 사용 가능한 인터페이스 출력
-i / 패킷 전송 인터페이스 설정
-j / 패킷 전송 인터페이스 설정
-v / 전송하는 패킷 정보 출력
-l / 반복 횟수 설정
-p / 패킷 전송 pps 설정
-t / 가능한 빨리 전송
최대 가능한 전송 속도로 전송하기
# tcpreplay --topspeed --intf1=eth0 sample.pcap
# tcpreplay -i eth0 --topspeed test.pcap
[IT/리눅스(Linux)] - 리눅스 tc Traffic Control 사용 방법 포트 미러링 방법
[IT/리눅스(Linux)] - 리눅스 서버 부하 및 행 문제 해결방법 8가지