Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Dshell — Dshell은 네트워크 포렌식 분석 프레임워크입니다. | Kitploit
도구/GitHubGitHub/usarmyresearchlab/dshell
Packet Sniffing & AnalysisNetwork ForensicsForensicsDigital ForensicsDNS AnalysisLog Analysis
GitHubusarmyresearchlab/dshell

Dshell

Dshell은 네트워크 포렌식 분석 프레임워크입니다.

저장소 보기
5.5k1.1k2년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Dshell

확장 가능한 네트워크 포렌식 분석 프레임워크입니다. 플러그인을 신속하게 개발하여 네트워크 패킷 캡처 분석을 지원합니다.

주요 기능:

  • 특화된 플러그인을 사용한 심층 패킷 분석
  • 강력한 스트림 재조립
  • IPv4 및 IPv6 지원
  • 사용자가 선택 가능한 여러 출력 형식 및 사용자 정의 출력 핸들러 생성 기능
  • 연결 가능한 플러그인
  • 데이터 소스 처리를 별도의 Python 프로세스로 분할하는 병렬 처리 옵션
  • 핵심 Dshell 플러그인 디렉토리와 중복되지 않으면서 새로 개발된 외부 플러그인을 공유 및 설치할 수 있는 외부 플러그인 팩 개발 지원

가이드

  • Dshell 사용자 가이드
    • 설치 및 기본/고급 분석에 대한 가이드(예제 포함)
    • 신규 및 숙련된 최종 사용자가 디코더-쉘(Dshell) 프레임워크를 사용하고 이해하는 데 도움을 줍니다.
  • Dshell 개발자 가이드
    • 기본 예제와 함께 플러그인 개발, 핵심 함수 및 클래스 정의, 데이터 흐름 개요에 대한 가이드
    • 최종 사용자가 새로운 맞춤형 Dshell 플러그인을 개발하고 기존 플러그인을 수정하는 데 도움을 줍니다.

요구 사항

  • Linux (Ubuntu 20.04 LTS에서 개발됨)
  • Python 3 (Python 3.8.10에서 개발됨)
  • pypacker
  • pcapy-ng
  • pyOpenSSL
  • geoip2
    • MaxMind GeoIP2 데이터 세트
      • IP 주소를 국가 코드에 매핑하는 데 사용됨
      • 설정은 설치 섹션 참조

선택 사항

  • oui.txt
    • MAC 주소를 처리하는 일부 플러그인에서 사용됨
    • <dshell>/data/에 배치
  • elasticsearch
    • elasticout 출력 모듈에서 사용됨
    • 출력 저장을 위해 elasticsearch를 사용할 계획인 경우에만 필요
  • pyJA3
    • tls 플러그인에서 사용됨

설치

  1. pip로 Dshell 설치
  • python3 -m pip install Dshell/ 또는 python3 -m pip install <Dshell-tarball>
  1. MaxMind GeoLite2 데이터 세트 파일(GeoLite2-ASN.mmdb, GeoLite2-City.mmdb, GeoLite2-Country.mmdb)을 [...]/site-packages/dshell/data/GeoIP/에 배치하여 geoip2 구성
  2. dshell 실행. 그러면 Dshell> 프롬프트가 표시됩니다.

기본 사용법

  • decode -l
    • 사용 가능한 모든 플러그인과 해당 플러그인에 대한 기본 정보를 나열합니다.
  • decode -h
    • 모든 컬러 출력을 위한 컬러 블라인드 친화 모드 등 대부분의 플러그인에서 사용 가능한 일반 명령줄 플래그를 표시합니다.
  • decode -p <plugin>
    • 사용 가능한 명령줄 플래그를 포함한 플러그인 정보를 표시합니다.
  • decode -p <plugin> <pcap>
    • 선택한 플러그인을 pcap 또는 pcapng 파일에서 실행합니다.
  • decode -p <plugin1>+<plugin2> <pcap>
    • 두 개 이상의 플러그인을 연결하여 pcap 파일에서 실행합니다.
  • decode -p <plugin> -i <interface>
    • 선택한 플러그인을 인터페이스에서 실시간으로 실행합니다(슈퍼유저 권한이 필요할 수 있음).

사용 예제

샘플 트래픽에서 DNS 조회 표시

root@kitploit:~
Dshell> decode -p dns ~/pcap/dns.cap | sort
[DNS] 2005-03-30 03:47:46    192.168.170.8:32795 --   192.168.170.20:53    ** ID: 4146, TXT? google.com., TXT: b'\x0fv=spf1 ptr ?all' **
[DNS] 2005-03-30 03:47:50    192.168.170.8:32795 --   192.168.170.20:53    ** ID: 63343, MX? google.com., MX: b'\x00(\x05smtp4\xc0\x0c', MX: b'\x00\n\x05smtp5\xc0\x0c', MX: b'\x00\n\x05smtp6\xc0\x0c', MX: b'\x00\n\x05smtp1\xc0\x0c', MX: b'\x00\n\x05smtp2\xc0\x0c', MX: b'\x00(\x05smtp3\xc0\x0c' **
[DNS] 2005-03-30 03:47:59    192.168.170.8:32795 --   192.168.170.20:53    ** ID: 18849, LOC? google.com. **
[DNS] 2005-03-30 03:48:07    192.168.170.8:32795 --   192.168.170.20:53    ** ID: 39867, PTR? 104.9.192.66.in-addr.arpa., PTR: 66-192-9-104.gen.twtelecom.net. **
[DNS] 2005-03-30 03:49:18    192.168.170.8:32795 --   192.168.170.20:53    ** ID: 30144, A? www.netbsd.org., A: 204.152.190.12 (ttl 82159s) **
[DNS] 2005-03-30 03:49:35    192.168.170.8:32795 --   192.168.170.20:53    ** ID: 61652, AAAA? www.netbsd.org., AAAA: 2001:4f8:4:7:2e0:81ff:fe52:9a6b (ttl 86400s) **
[DNS] 2005-03-30 03:50:35    192.168.170.8:32795 --   192.168.170.20:53    ** ID: 32569, AAAA? www.netbsd.org., AAAA: 2001:4f8:4:7:2e0:81ff:fe52:9a6b (ttl 86340s) **
[DNS] 2005-03-30 03:50:44    192.168.170.8:32795 --   192.168.170.20:53    ** ID: 36275, AAAA? www.google.com., CNAME: 'www.l.google.com.' **
[DNS] 2005-03-30 03:50:54    192.168.170.8:32795 --   192.168.170.20:53    ** ID: 56482, AAAA? www.l.google.com. **
[DNS] 2005-03-30 03:51:35    192.168.170.8:32795 --   192.168.170.20:53    ** ID: 48159, AAAA? www.example.com. **
[DNS] 2005-03-30 03:51:46    192.168.170.8:32795 --   192.168.170.20:53    ** ID: 9837, AAAA? www.example.notginh., NXDOMAIN **
[DNS] 2005-03-30 03:52:17    192.168.170.8:32795 --   192.168.170.20:53    ** ID: 65251, AAAA: 2001:4f8:0:2::d (ttl 600s), A: 204.152.184.88 (ttl 600s) **
[DNS] 2005-03-30 03:52:17    192.168.170.8:32796 --   192.168.170.20:53    ** ID: 23123, PTR? 1.0.0.127.in-addr.arpa., PTR: localhost. **
[DNS] 2005-03-30 03:52:17    192.168.170.8:32797 --   192.168.170.20:53    ** ID: 8330, NS: b'\x06ns-ext\x04nrt1\xc0\x0c', NS: b'\x06ns-ext\x04sth1\xc0\x0c', NS: b'\x06ns-ext\xc0\x0c', NS: b'\x06ns-ext\x04lga1\xc0\x0c' **
[DNS] 2005-03-30 03:52:17   192.168.170.56:1707  --      217.13.4.24:53    ** ID: 12910, SRV? _ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.utelsystems.local., NXDOMAIN **
[DNS] 2005-03-30 03:52:17   192.168.170.56:1708  --      217.13.4.24:53    ** ID: 61793, SRV? _ldap._tcp.dc._msdcs.utelsystems.local., NXDOMAIN **
[DNS] 2005-03-30 03:52:17   192.168.170.56:1709  --      217.13.4.24:53    ** ID: 33633, SRV? _ldap._tcp.05b5292b-34b8-4fb7-85a3-8beef5fd2069.domains._msdcs.utelsystems.local., NXDOMAIN **
[DNS] 2005-03-30 03:52:17   192.168.170.56:1710  --      217.13.4.24:53    ** ID: 53344, A? GRIMM.utelsystems.local., NXDOMAIN **
[DNS] 2005-03-30 03:52:25   192.168.170.56:1711  --      217.13.4.24:53    ** ID: 30307, A? GRIMM.utelsystems.local., NXDOMAIN **

샘플 트래픽에서 스트림 추적 및 재조립

root@kitploit:~
Dshell> decode -p followstream ~/pcap/v6-http.cap 
Connection 1 (TCP)
Start: 2007-08-05 15:16:44.189851
End:   2007-08-05 15:16:44.219460
2001:6f8:102d:0:2d0:9ff:fee3:e8de: 59201 -> 2001:6f8:900:7c0::2:    80 (300 bytes)
2001:6f8:900:7c0::2:    80 -> 2001:6f8:102d:0:2d0:9ff:fee3:e8de: 59201 (2379 bytes)

GET / HTTP/1.0
Host: cl-1985.ham-01.de.sixxs.net
Accept: text/html, text/plain, text/css, text/sgml, */*;q=0.01
Accept-Encoding: gzip, bzip2
Accept-Language: en
User-Agent: Lynx/2.8.6rel.2 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.8b



HTTP/1.1 200 OK
Date: Sun, 05 Aug 2007 19:16:44 GMT
Server: Apache
Content-Length: 2121
Connection: close
Content-Type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
 <head>
  <title>Index of /</title>
 </head>
 <body>
<h1>Index of /</h1>
<pre><img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/blank.gif" alt="Icon "> <a href="?C=N;O=D">Name</a>                    <a href="?C=M;O=A">Last modified</a>      <a href="?C=S;O=A">Size</a>  <a href="?C=D;O=A">Description</a><hr><img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/folder.gif" alt="[DIR]"> <a href="202-vorbereitung/">202-vorbereitung/</a>       06-Jul-2007 14:31    -   
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/layout.gif" alt="[   ]"> <a href="Efficient_Video_on_demand_over_Multicast.pdf">Efficient_Video_on_d..&gt;</a> 19-Dec-2006 03:17  291K  
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/unknown.gif" alt="[   ]"> <a href="Welcome%20Stranger!!!">Welcome Stranger!!!</a>     28-Dec-2006 03:46    0   
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/text.gif" alt="[TXT]"> <a href="barschel.htm">barschel.htm</a>            31-Jul-2007 02:21   44K  
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/folder.gif" alt="[DIR]"> <a href="bnd/">bnd/</a>                    30-Dec-2006 08:59    -   
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/folder.gif" alt="[DIR]"> <a href="cia/">cia/</a>                    28-Jun-2007 00:04    -   
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/layout.gif" alt="[   ]"> <a href="cisco_ccna_640-801_command_reference_guide.pdf">cisco_ccna_640-801_c..&gt;</a> 28-Dec-2006 03:48  236K  
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/folder.gif" alt="[DIR]"> <a href="doc/">doc/</a>                    19-Sep-2006 01:43    -   
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/folder.gif" alt="[DIR]"> <a href="freenetproto/">freenetproto/</a>           06-Dec-2006 09:00    -   
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/folder.gif" alt="[DIR]"> <a href="korrupt/">korrupt/</a>                03-Jul-2007 11:57    -   
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/folder.gif" alt="[DIR]"> <a href="mp3_technosets/">mp3_technosets/</a>         04-Jul-2007 08:56    -   
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/text.gif" alt="[TXT]"> <a href="neues_von_rainald_goetz.htm">neues_von_rainald_go..&gt;</a> 21-Mar-2007 23:27   31K  
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/text.gif" alt="[TXT]"> <a href="neues_von_rainald_goetz0.htm">neues_von_rainald_go..&gt;</a> 21-Mar-2007 23:29   36K  
<img src="https://raw.githubusercontent.com/usarmyresearchlab/dshell/HEAD/icons/layout.gif" alt="[   ]"> <a href="pruef.pdf">pruef.pdf</a>               28-Dec-2006 07:48   88K  
<hr></pre>
</body></html>

샘플 트래픽에서 특정 국가 코드의 흐름 데이터를 보기 위해 플러그인 체이닝 (참고: TCP 핸드셰이크는 패킷 수에 포함되지 않음)

root@kitploit:~
Dshell> decode -p country+netflow --country_code=JP ~/pcap/SkypeIRC.cap
2006-08-25 15:32:20.766761       192.168.1.2 ->  202.232.205.123  (-- -> JP)   UDP   60583   33438     1      0       64        0  0.0000s
2006-08-25 15:32:20.634046       192.168.1.2 ->  202.232.205.123  (-- -> JP)   UDP   60583   33435     1      0       64        0  0.0000s
2006-08-25 15:32:20.747503       192.168.1.2 ->  202.232.205.123  (-- -> JP)   UDP   60583   33437     1      0       64        0  0.0000s
2006-08-25 15:32:20.651501       192.168.1.2 ->  202.232.205.123  (-- -> JP)   UDP   60583   33436     1      0       64        0  0.0000s

여러 파일에서 DNS 트래픽을 수집하여 새 pcap 파일에 저장

root@kitploit:~
Dshell> decode -p dns+pcapwriter --pcapwriter_outfile=test.pcap ~/pcap/*.cap > /dev/null
Dshell> tcpdump -nnr test.pcap | head
reading from file test.pcap, link-type EN10MB (Ethernet)
15:36:08.670569 IP 192.168.1.2.2131 > 192.168.1.1.53: 40209+ A? ui.skype.com. (30)
15:36:08.670687 IP 192.168.1.2.2131 > 192.168.1.1.53: 40210+ AAAA? ui.skype.com. (30)
15:36:08.674022 IP 192.168.1.1.53 > 192.168.1.2.2131: 40209- 1/0/0 A 212.72.49.131 (46)
15:36:09.011208 IP 192.168.1.1.53 > 192.168.1.2.2131: 40210 0/1/0 (94)
15:36:10.171350 IP 192.168.1.2.2131 > 192.168.1.1.53: 40210+ AAAA? ui.skype.com. (30)
15:36:10.961350 IP 192.168.1.1.53 > 192.168.1.2.2131: 40210* 0/1/0 (85)
15:36:10.961608 IP 192.168.1.2.2131 > 192.168.1.1.53: 40211+ AAAA? ui.skype.com. (30)
15:36:11.294333 IP 192.168.1.1.53 > 192.168.1.2.2131: 40211 0/1/0 (94)
15:32:21.664798 IP 192.168.1.2.2130 > 192.168.1.1.53: 39862+ A? ui.skype.com. (30)
15:32:21.664913 IP 192.168.1.2.2130 > 192.168.1.1.53: 39863+ AAAA? ui.skype.com. (30)

샘플 트래픽을 사용하여 TFTP 데이터를 수집하고 알림을 JSON 형식으로 변환

root@kitploit:~
Dshell> decode -p tftp -O jsonout ~/pcap/tftp_*.pcap
{"ts": 1367411051.972852, "sip": "192.168.0.253", "sport": 50618, "dip": "192.168.0.10", "dport": 3445, "readwrite": "read", "filename": "rfc1350.txt", "plugin": "tftp", "pcapfile": "/home/pcap/tftp_rrq.pcap", "data": "read  rfc1350.txt (24599 bytes) "}
{"ts": 1367053679.45274, "sip": "192.168.0.1", "sport": 57509, "dip": "192.168.0.13", "dport": 2087, "readwrite": "write", "filename": "rfc1350.txt", "plugin": "tftp", "pcapfile": "/home/pcap/tftp_wrq.pcap", "data": "write rfc1350.txt (24599 bytes) "}

샘플 트래픽을 사용하여 별도의 Python 스크립트 내에서 플러그인 실행

root@kitploit:~
# Import required Dshell libraries
import dshell.decode as decode
import dshell.plugins.tftp.tftp as tftp

# Instantiate plugin
plugin = tftp.DshellPlugin()
# Define plugin-specific arguments, if needed
dargs = {plugin: {"rip": True, "outdir": "/tmp/"}}
# Add plugin(s) to plugin chain
decode.plugin_chain = [plugin]
# Run decode main function with all other arguments
decode.main(
    debug=True,
    files=["/home/user/pcap/tftp_rrq.pcap", "/home/user/pcap/tftp_wrq.pcap"],
    plugin_args=dargs
)
도구 다운로드