pyshark 예제

최근에 제 동료가 와이어샤크의 지휘선 동반자 상어의 포장지인 피샤크를 소개해 주었습니다. Pyshark는 각 패킷의 Wireshark 디코딩이 변수로 사용할 수 있게되기 때문에 파이썬의 네트워크 트래픽을 분석하는 것이 거의 사소한 것입니다! 나는 Pyshark에 대한 문서를 읽고 그것이 무엇을하고 어떻게 작동하는지의 요점을 얻었다. 그런 다음, 나는 좀 더 연구를했고,이 페이지를 발견했다. 이 문서는 내 Pyshark 프로그램에 관한 것입니다. 나는 일주일 동안 그것에 노력하고 있었고, 나는 마침내 빠르고 더러운 첫 번째 초안을 마쳤다. 나는 뼈를 가지고 있지만 고기는 시간이 좀 걸릴 것입니다 (기능에 대한 너무 많은 아이디어). 이러한 몇 가지 예에서 볼 수 있듯이 PyShark는 모든 패킷 세부 정보에 쉽게 액세스할 수 있습니다. 조건부 문을 사용하여 다양한 프로토콜을 분류하고 작업하기 위한 동적 논리를 만들거나 특정 특성이 있는 특정 유형의 트래픽을 검색할 수 있습니다(AttributeErrors에 대한 보호). Pyshark는 WEP, WPA-PWD 및 WPA-PSK 표준을 사용하여 추적의 자동 암호 해독을 지원합니다(WPA-PWD는 기본값입니다). 가져오기 pyshark 가져오기 OS 디렉토리 = “/home/andrew/Documents/CaptureDirectory” 캡처 패킷에서 요약 정보 이상을 얻으려면 올바른 위치에 있습니다. 와이어샤크와 상어에서 사용할 수 있는 디스섹터를 사용하여 PyShark는 레이어별로 모든 패킷 세부 사항을 분리할 수 있습니다.

예를 들어, 먼저 부모 패킷 개체의 특성을 보고이 DNS 패킷을 파고 보자: 이 후 프로그램을 제거 하기 시작. 아래쪽에 있는 시간 시간 함수와 함께 print_dns_info() 함수를 삭제했습니다. 나는 후자를 대체 : 기여자를 찾고 – 여러 가지 이유로 나는 현재 패키지를 유지하고 향상시킬 시간을 찾는 데 어려움을 가지고 있습니다. 모든 끌어오기 요청은 검토될 것이며 관심이 있고 적합한 경우 프로젝트에 포함하게되어 기쁩니다. Gmail에서 dorgreen1에서 저를 우편으로 보내 주시기 바랍니다. #Iterate 캡에 대한 캐포트 배열을 통해 : # 패킷에 페이로드 데이터가있는 경우 크기 카운터 시도에 추가 : 크기 = 크기 + int (i.data.len) 제외 : # 패스 # 페이로드 크기와 세션 기간을 인쇄 할 경우 크기 = 0 : 인쇄 파일, “: :”, 크기”: 크기 :”,,플로트 (i.frame_info.time_epoch)-float (cap[0].frame_info.time_epoch) 기타 : 인쇄 파일,” 아니 Citrix”꽤 많은 파이썬 패킷 구문 분석 모듈이 있습니다,이 하나는 실제로 어떤 패킷을 구문 분석하지 않기 때문에, 그것은 단순히 tshark`s (( wireshark 명령줄 유틸리티) XM을 내보내 구문 분석 기능을 사용할 수 있습니다. 하자! 이제 파일을 인쇄하는 방법을 알아내야합니다. for 루프 외부에 있는 out_string이라는 빈 문자열을 정의하고 for 루프 내부에 있는 print 문을 제거하고, 들어오는 패킷을 정의하고 추가하기 위해 out_string 값을 사용하여 각 패킷을 텍스트 파일에 쓰는 코드를 만들었습니다.

또한 패킷을 간격을 두기 위해 새 줄 “문자열”과 패킷 번호 매기기 헤더를 추가해야했습니다. 결국 전체 코드는 다음과 같습니다. 페이지 하단에는 라이브 패킷 캡처 스니퍼에 대한 예제 코드가 있습니다(아래 그림 참조). 단순히 이 시리즈에서 지금까지 pypi에서 최신을 설치 하려면 다음을 실행 하 고 우리는 패킷을 캡처 하 고 캡처 개체작업으로 많은 일을 했습니다., 하지만 마지막으로 우리는 재미 있는 부분에 도착 하 고 마지막으로 몇 가지 패킷으로 재생 을 시작 거 야!!!! 길이, frame_info 및 시간에 대한 몇 가지 일반 패킷 정보 특성과 매우 읽기 쉬운 형식으로 패킷을 표시하는 pretty_print() 메서드가 있습니다(Wireshark의 패킷 세부 정보 보기와 유사). 각 패킷에 존재하는 프로토콜(transport_layer, highest_layer, dns)에 따라 변경되는 속성뿐만 아니라 절대 레이어(eth 및 ip)를 나타내는 특성을 볼 수 있지만 자세히 보면 됩니다. 특정 트래픽을 찾고 있는 경우 이러한 특성을 사용하면 모든 DNS 쿼리 및 응답 이름을 인쇄하는 이 스크립트와 같이 흥미로운 정보가 포함된 패킷을 매우 쉽게 찾을 수 있습니다. 암호화_표준은 각 캡처 클래스에 존재합니다.

© 2019 A MarketPress.com Theme