2017-05-05 1 views
0

개인 키를 사용하여 wireshark (GUI)에서 SSL 패킷을 해독 할 수 있습니다. 같은 방식으로 PyShark (프로그래밍 방식)를 사용하여 패킷을 해독하는 방법. 다른 프로그래밍 방식을 사용하여 동일한 작업을 수행 할 수있는 다른 방법이 있습니까?PyShark를 사용하여 SSL 패킷 암호 해독

답변

0

이는 테스트하지 않고 override_prefs는 일부 tshark를하거나 대체 할 사용자 정의 플래그를 추가 할 것입니다 : 캡처 객체를 생성 할 때 override_prefs 그래서

def create_ssl_override(ssl_key_path, server='127.0.0.1', port='443', 
         protocol='http', ssl_debug_file='ssl_debug.log'): 

    ssh_key_info = '{server},{port},{protocol},{pem_path}'.format(
     server=server, port=port, protocol=protocol, pem_path=pem_path) 

    return { 
     'ssl.desegment_ssl_records': 'TRUE', 
     'ssl.desegment_ssl_application_data': 'TRUE', 
     'tcp.desegment_tcp_streams': 'TRUE', 
     'ssl.keys_list': ssl_key_info, 
     'ssl.debug_file': ssl_debug_file 
    } 

ssl_overrides = create_ssl_override('my_server_key_file.pem') 

같은 속성에

가 .- 당신이 사전을 전달할 수 있습니다 override_prefs = ssl_overrides를 인수 중 하나로 전달하십시오. 다시 나는 이것을 테스트하지 않았고 pyshark가 ssl xml 출력을 처리 할 수 ​​있을지 확신하지는 못했지만 시도해 본다.

(https://wiki.wireshark.org/SSL에서 예)

tshark -o "ssl.desegment_ssl_records: TRUE" -o "ssl.desegment_ssl_application_data: TRUE" -o "ssl.keys_list: 127.0.0.1,4443,http,/home/dirkx/xx/privkey.pem" -o "ssl.debug_file: /home/dirkx/.wireshark-log" -i eth0 -R "tcp.port == 4443" 
직접 tshark를하지 않으면