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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pyshark-legacy — tshark용 Python 래퍼, 와이어샤크 디섹터를 사용한 파이썬 패킷 파싱을 허용 (Python2 레거시 버전) | Kitploit
도구/GitHubGitHub/kiminewt/pyshark-legacy
Packet Sniffing & AnalysisNetwork SecurityUtilities & Frameworks
GitHubkiminewt/pyshark-legacy

pyshark-legacy

tshark용 Python 래퍼, 와이어샤크 디섹터를 사용한 파이썬 패킷 파싱을 허용 (Python2 레거시 버전)

저장소 보기
678년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

pyshark

이 저장소는 Python2.7+에서 작동하는 pyshark의 레거시 버전을 위한 것입니다. 버전 0.3.8 이후로는 버그 수정만 받습니다. Python 3.5+에서만 지원되는 새 버전은 메인 저장소를 사용해 주세요.

Join the chat at https://gitter.im/pyshark_gitter/Lobby Build Status

tshark용 Python 래퍼로, wireshark 디섹터를 사용하여 Python 패킷을 파싱할 수 있습니다.

확장 문서: http://kiminewt.github.io/pyshark

Python 패킷 파싱 모듈은 꽤 많이 있지만, 이 모듈은 실제로 패킷을 파싱하지 않고 tshark(와이어샤크 명령줄 유틸리티)의 XML 내보내기 기능을 사용하여 파싱한다는 점에서 다릅니다.

이 패키지는 캡처 파일 또는 실시간 캡처에서 파싱할 수 있으며, 설치된 모든 wireshark 디섹터를 사용합니다. Windows/Linux에서 테스트되었습니다.

설치

모든 플랫폼

다음 명령을 실행하여 pypi에서 최신 버전을 설치하세요.

root@kitploit:~
pip install pyshark-legacy

또는 git 저장소에서 설치:

root@kitploit:~
git clone https://github.com/KimiNewt/pyshark-legacy.git
cd pyshark/src
python setup.py install

Mac OS X

libxml을 설치해야 할 수도 있습니다. clang에서 오류가 발생하거나 libxml 관련 오류 메시지가 나타나면 다음을 실행하세요.

root@kitploit:~
xcode-select --install
pip install libxml

XCode의 EULA에 동의해야 할 수도 있으므로 GUI에서 "Accept" 대화상자를 클릭할 준비를 하세요.

사용법

캡처 파일 읽기:

root@kitploit:~
>>> import pyshark
>>> cap = pyshark.FileCapture('/tmp/mycapture.cap')
>>> cap
<FileCapture /tmp/mycapture.cap (589 packets)>
>>> print cap[0]
Packet (Length: 698)
Layer ETH:
        Destination: BLANKED
        Source: BLANKED
        Type: IP (0x0800)
Layer IP:
        Version: 4
        Header Length: 20 bytes
        Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        Total Length: 684
        Identification: 0x254f (9551)
        Flags: 0x00
        Fragment offset: 0
        Time to live: 1
        Protocol: UDP (17)
        Header checksum: 0xe148 [correct]
        Source: BLANKED
        Destination: BLANKED
  ...

기타 옵션

  • param keep_packets: next()를 통해 패킷을 읽은 후에도 유지할지 여부. 큰 캡처 파일을 읽을 때 메모리를 절약하는 데 사용됩니다.
  • param input_file: 패킷 캡처 파일(PCAP, PCAP-NG..) 또는 TShark XML을 포함하는 경로 또는 파일형 객체.
  • param display_filter: 캡처를 읽기 전에 적용할 디스플레이(wireshark) 필터.
  • param only_summaries: 패킷 요약만 생성합니다. 훨씬 빠르지만 정보가 거의 포함되지 않습니다
  • param disable_protocol: 프로토콜 감지 비활성화 (tshark > 버전 2)
  • param decryption_key: 캡처된 트래픽을 암호화 및 복호화하는 데 사용되는 키.
  • param encryption_type: 캡처된 트래픽에 사용된 암호화 표준 ('WEP', 'WPA-PWD', 'WPA-PWK' 중 하나여야 함. 기본값은 WPA-PWK).
  • param tshark_path: tshark 바이너리의 경로

라이브 인터페이스에서 읽기:

root@kitploit:~
>>> capture = pyshark.LiveCapture(interface='eth0')
>>> capture.sniff(timeout=50)
>>> capture
<LiveCapture (5 packets)>
>>> capture[3]
<UDP/HTTP Packet>

for packet in capture.sniff_continuously(packet_count=5):
    print 'Just arrived:', packet

기타 옵션

  • param interface: 스니핑할 인터페이스 이름. 지정하지 않으면 첫 번째 사용 가능한 인터페이스를 사용합니다.
  • param bpf_filter: 패킷에 사용할 BPF 필터.
  • param display_filter: 사용할 디스플레이(wireshark) 필터.
  • param only_summaries: 패킷 요약만 생성합니다. 훨씬 빠르지만 정보가 거의 포함되지 않습니다
  • param disable_protocol: 프로토콜 감지 비활성화 (tshark > 버전 2)
  • param decryption_key: 캡처된 트래픽을 암호화 및 복호화하는 데 사용되는 키.
  • param encryption_type: 캡처된 트래픽에 사용된 암호화 표준 ('WEP', 'WPA-PWD', 'WPA-PWK' 중 하나여야 함. 기본값은 WPA-PWK).
  • param tshark_path: tshark 바이너리의 경로
  • param output_file: 캡처된 패킷을 이 파일에 추가로 저장합니다.

링 버퍼를 사용하여 라이브 인터페이스에서 읽기

root@kitploit:~
>>> capture = pyshark.LiveRingCapture(interface='eth0')
>>> capture.sniff(timeout=50)
>>> capture
<LiveCapture (5 packets)>
>>> capture[3]
<UDP/HTTP Packet>

for packet in capture.sniff_continuously(packet_count=5):
    print 'Just arrived:', packet

기타 옵션

  • param ring_file_size: 링 파일 크기(kB), 기본값은 1024
  • param num_ring_files: 유지할 링 파일 수, 기본값은 1
  • param ring_file_name: 링 파일 이름, 기본값은 /tmp/pyshark.pcap
  • param interface: 스니핑할 인터페이스 이름. 지정하지 않으면 첫 번째 사용 가능한 인터페이스를 사용합니다.
  • param bpf_filter: 패킷에 사용할 BPF 필터.
  • param display_filter: 사용할 디스플레이(wireshark) 필터.
  • param only_summaries: 패킷 요약만 생성합니다. 훨씬 빠르지만 정보가 거의 포함되지 않습니다
  • param disable_protocol: 프로토콜 감지 비활성화 (tshark > 버전 2)
  • param decryption_key: 캡처된 트래픽을 암호화 및 복호화하는 데 사용되는 키.
  • param encryption_type: 캡처된 트래픽에 사용된 암호화 표준 ('WEP', 'WPA-PWD', 'WPA-PWK' 중 하나여야 함. 기본값은 WPA-PWK).
  • param tshark_path: tshark 바이너리의 경로
  • param output_file: 캡처된 패킷을 이 파일에 추가로 저장합니다.

라이브 원격 인터페이스에서 읽기:

root@kitploit:~
>>> capture = pyshark.RemoteCapture('192.168.1.101', 'eth0')
>>> capture.sniff(timeout=50)
>>> capture

기타 옵션

  • param remote_host: 캡처할 원격 호스트(IP 또는 호스트 이름). rpcapd가 실행 중이어야 합니다.
  • param remote_interface: 원격 머신에서 캡처할 원격 인터페이스. Windows에서는 장치 표시 이름이 아니라 실제 인터페이스 이름(예: \Device\NPF_..)입니다.
  • param remote_port: rpcapd 서비스가 수신 대기 중인 원격 포트
  • param bpf_filter: 캡처를 읽기 전에 적용할 BPF(tcpdump) 필터.
  • param only_summaries: 패킷 요약만 생성합니다. 훨씬 빠르지만 정보가 거의 포함되지 않습니다
  • param disable_protocol: 프로토콜 감지 비활성화 (tshark > 버전 2)
  • param decryption_key: 캡처된 트래픽을 암호화 및 복호화하는 데 사용되는 키.
  • param encryption_type: 캡처된 트래픽에 사용된 암호화 표준 ('WEP', 'WPA-PWD', 'WPA-PWK' 중 하나여야 함. 기본값은 WPA-PWK).
  • param tshark_path: tshark 바이너리의 경로

패킷 데이터에 접근하기:

데이터는 여러 방식으로 접근할 수 있습니다. 패킷은 레이어로 나뉘며, 먼저 적절한 레이어에 도달한 다음 필드를 선택해야 합니다.

다음 모두 작동합니다:

root@kitploit:~
>>> packet['ip'].dst
192.168.0.1
>>> packet.ip.src
192.168.0.100
>>> packet[2].src
192.168.0.100

레이어가 패킷에 있는지 확인하려면 이름을 사용할 수 있습니다:

root@kitploit:~
>>> 'IP' in packet
True

모든 가능한 필드 이름을 보려면 packet.layer.field_names 속성(예: packet.ip.field_names) 또는 인터프리터의 자동 완성 기능을 사용하세요.

필드의 원래 바이너리 데이터나 예쁜 설명도 얻을 수 있습니다:

root@kitploit:~
>>> p.ip.addr.showname
Source or Destination Address: 10.0.0.10 (10.0.0.10)
# And some new attributes as well:
>>> p.ip.addr.int_value
167772170
>>> p.ip.addr.binary_value
'\n\x00\x00\n'

패킷 캡처 복호화

Pyshark는 WEP, WPA-PWD, WPA-PSK 표준을 사용한 트레이스 자동 복호화를 지원합니다 (WPA-PWD가 기본값입니다).

root@kitploit:~
>>> cap1 = pyshark.FileCapture('/tmp/capture1.cap', decryption_key='password')
>>> cap2 = pyshark.LiveCapture(interface='wi0', decryption_key='password', encryption_type='wpa-psk')

지원되는 암호화 표준의 튜플인 SUPPORTED_ENCRYPTION_STANDARDS가 각 캡처 클래스에 존재합니다.

root@kitploit:~
>>> pyshark.FileCapture.SUPPORTED_ENCRYPTION_STANDARDS
('wep', 'wpa-pwd', 'wpa-psk')
>>> pyshark.LiveCapture.SUPPORTED_ENCRYPTION_STANDARDS
('wep', 'wpa-pwd', 'wpa-psk')

라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 이 프로젝트에 대한 기여는 동일한 라이선스에 따라 수락됩니다.

도구 다운로드