일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 탈중앙화
- 리뷰
- 거래
- 보안
- PC
- 투자
- angular
- 시장
- 암호화폐
- threejs
- ps4
- 부동산
- kubernetes
- 스마트 컨트랙트
- 비트코인
- 게임
- loopback
- Three
- 블록체인
- strongloop
- Linux
- 스마트 계약
- 쿠버네티스
- Docker
- review
- 주식
- 젤다 왕눈
- Games
- 이더리움
- game
- Today
- Total
BaeBox
Scapy를 이용한 packet(pcap) generation 본문
Scapy : Python으로 작성된 컴퓨터 네트워크용 패킷 조작 도구.
프로토콜별로 패킷의 타입이 클래스로 정의되어 있으며, 해당 클래스를 이용하면 간단하게 패킷 데이터를 생성할 수 있다.
Scapy는 아래와 같이 변수에 패킷 데이터(pcap)을 저장 간으하며, 저장된 pcap의 데이터를 출력 가능하다.
CentOS 기준으로 설치 방법은 두 가지가 있다.
-
Pip를 통해 설치하는 방법
-
Source 코드를 다운받아 컴파일 한 후 설치하는 방법
현 일자 (2020-02-07) 기준으로 pip 와 git 에서 제공하는 소스코드 모두 2.4.3 버전을 제공한다.
./run_scapy를 실행하면 scapy가 실행된다.
Scapy는 여러 종류의 패킷 데이터를 지원하지만, OT망에 사용되는 프로토콜의 패킷은 일부 지원하지 않는다. 예를 들면 Modbus 패킷을 지원하지 않는다.
하지만 걱정하지 마라. 손은 눈보다 빠르니까.
Modbus 패킷 데이터를 기본적으로 지원하지 않는다면, 그냥 Modbus 패킷 유형에 맞는 클래스를 생성해주면 되니까.
Scapy github에서도 contirbutor 디렉토리를 보면 Modbus 패킷을 받을 수 있다. 몰랐는데 지원했던 모양이다.
https://github.com/secdev/scapy/blob/master/scapy/contrib/modbus.py
나는 인터넷에 돌아다니는거 아무거나 가져다 썼다. 무슨 논문 같았는데 기억이 잘 안난다. 구글 뒤져보면 10분내로 나올거라고 생각한다.
https://scapy.readthedocs.io/en/latest/
'개발 관련' 카테고리의 다른 글
Dynamic(동적) Component 생성 (0) | 2020.03.02 |
---|---|
Component간 데이터 공유 (0) | 2020.03.02 |
Brush와 Bisect (0) | 2020.01.29 |
간단한 D3 (Line, Bar)차트 (0) | 2020.01.27 |
D3 차트의 구조 (0) | 2020.01.27 |