summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-12-21file-zip: WIP for data descriptorPeter Wu1-12/+60
Well, this does not work because the actual data size is unknown... And it turns out that you really have to parse the EoCD first, otherwise .jar files cannot be parsed...
2016-12-21file-zip: implement End of Central Directory RecordPeter Wu1-3/+31
And also added missing fields for CD. Both were mostly scripted based on the tables from Wikipedia.
2016-12-21file-zip: implement Central Directory recordPeter Wu1-6/+60
2016-12-21file-zip: decode local file headerPeter Wu1-1/+104
2016-12-21file-zip: start of a Zip Archive file dissector for WiresharkPeter Wu1-0/+95
Implemented a template for opening a file and making it available to dissectors. For this, a FileHandler has been implemented which then links with the MIME encapsulation type. The "seek_read" issue mentioned in the comments should be fixed with https://code.wireshark.org/review/19366
2016-12-21notes,sync-build.sh: notes for MPX, build adjustmentsPeter Wu2-4/+29
Append to PATH to avoid clobbering it when putting ccache in $PATH. Enable SBC codec for testing. Enable debug-prefix-map, should make relocatable debug builds easier (where I build in a different directory and move it).
2016-12-02sipsim/codecs.txt: add g729Peter Wu1-2/+2
Created a sample (sip-rtp-g729a.pcap) using FreeSWITCH 1.6.12 and mod_bcfg729 (https://github.com/xadhoom/mod_bcg729).
2016-12-02Added SIPp scenario and list of codecs supported by FSPeter Wu2-0/+149
Requires appropriately configured FreeSWITCH server that responds to a call to sip:test@host by playing a fragment, then hanging up. SIPp scenario was used to create a bunch of captures, uploaded to https://wiki.wireshark.org/SampleCaptures#SIP_and_RTP
2016-09-24extcap/ssh-tcpdump: example remote tcpdumpPeter Wu1-0/+124
Requires Python 3.4, but it can be adapted for older versions. It demonstrates how "easy" it is to capture remotely over SSH when only tcpdump is installed without dumpcap (in that case you could use sshdump). Note that on stopping/restarting captures, you still get some stderr messages ("Dropped privileges", but that can be ignored). See also https://ask.wireshark.org/questions/55768/remote-interface-linux
2016-09-17openssl-connect: fix support for more PSK ciphersPeter Wu1-1/+7
Match also stuff like DHE-PSK-AES128-CCM8. Improve error message if cipher is not accepted by OpenSSL.
2016-09-17openssl-{connect,listen}: OpenSSL 1.1.0 compatPeter Wu2-6/+6
The options parser has changed, options now have to precede the parameters (possible a bug, already reported to rt.openssl.org with subject "Options after parameters are ignored in OpenSSL 1.1.0"). While at it, use COMPLEMENTOFALL instead of NULL since that possibly includes more ciphers.
2016-09-17make-tcp.py: use HTTP (which activates reassembly)Peter Wu1-14/+12
2016-09-17make-tcp.py: create a crafted packet with TCP issuesPeter Wu1-0/+56
Prompted by https://code.wireshark.org/review/17749
2016-08-16src/sslkeylog.c: OpenSSL 1.1.0 compatibilityPeter Wu1-18/+48
OpenSSL 1.1.0 makes some structures opaque, but luckily it provides new functions to extract the client random and master secret which is all we need from the structures. Tested with OpenSSL 1.1.0-pre6 using openssl s_client and OpenSSL 1.0.2.h using curl.
2016-07-27lua/r8152.lua: add basic USB dissector for Realtek Ethernet adapterPeter Wu1-0/+73
Last modified at 2015-12-08
2016-07-06lua/gelf: add very basic GELF dissectorPeter Wu1-0/+27
GELF is a simple UDP protocol, every datagram is a gzipped JSON message. This dissector demonstrates how one could decompress it and parse it as JSON. Does not support chunked format.
2016-05-12sync-build.sh: fix PKG_CONFIG_LIBDIR, enable gold linkerPeter Wu1-1/+2
Gold linker seems marginally faster.
2016-02-10replay-tcp-as-ssl.py: pass cipherlist to server tooPeter Wu1-3/+3
Avoids handshake failure when a cipher suite is used which is disabled by default (e.g. NULL-SHA).
2016-01-25Add tls-null.pcapngPeter Wu1-0/+0
Master secret is available in capture file comments. Note that this capture uses NULL encryption, so these secrets *should* not be necessary, but as of Wireshark 2.0.1. they are needed. Created with: curl --ciphers NULL-SHA256 https://10.9.0.1/ -k openssl s_server -www -cipher NULL-SHA256 Created for investigating https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4652
2016-01-11replay-tcp-as-ssl.py: wrap TCP payload in SSLPeter Wu1-0/+120
Useful for wrapping existing protocols in SSL for testing.
2016-01-11notes.txt: random update for cmake-buildPeter Wu1-0/+9
2016-01-11one-off/find-assignments-handle: find create_dissector_handlePeter Wu1-0/+68
Found 393 results, see https://lekensteyn.nl/files/wireshark/wireshark-v2.1.0rc0-1421-g515502f-create_dissector_handle.txt
2015-12-05sync-build.sh: allow BUILDDIR and cmake options overridePeter Wu1-4/+23
For testing other build types (-DCMAKE_BUILD_TYPE=RelWithDebInfo) and compilers (BUILDDIR=/tmp/wsbuild-gcc).
2015-10-24find-expert-in-tree: add usagePeter Wu1-1/+10
2015-10-12find-expert-in-tree: fix formattingPeter Wu1-1/+1
2015-10-11sync-build.sh: enable relocatable folder, copy more filesPeter Wu1-9/+19
Copy compile_commands.json, config.h. (ab)use CMAKE_INSTALL_RPATH to enable relocatable executables. Note that this is only safe for development, if you install the generated binaries without stripping/modifying rpath, then insecure situations may occur in an hostile environment (wrong libraries may be loaded).
2015-10-11run-ws: fix ASAN_OPTIONSPeter Wu1-1/+1
2015-10-11one-off/find-experts-in-tree: addedPeter Wu1-0/+99
Add tool that leverages clang-query to find expert info callers which are behind an if(tree).
2015-07-16sslkeylog.py: fix writing headerPeter Wu1-1/+1
2015-07-10sslkeylog.py: document batch modePeter Wu1-1/+16
Found in gdb source code that 'all' implies everything except SIGTRAP and SIGINT. SIGINT is normally used for interactive debugging (so can be disabled) but SIGTRAP is used for breakpoints (and can therefore not be disabled without killing the program on such signals).
2015-07-10sslkeylog.py: fix older gdb and python compatPeter Wu1-5/+14
Older gdb is upset by appending to a pipe, so fallback to writing instead in such cases. Older python do not allow interpolation in bytes, so use strings and encode it to bytes before writing. Previously tested with GDB 7.9.1 and Python 2.7.10. Now tested with GDB 7.7.1 and Python 2.7.6 on Ubuntu 14.04.
2015-07-10sslkeylog.py: initial check-inPeter Wu1-0/+198
Tool to extract SSL keys on-the-fly from existing OpenSSL programs. Servers included!
2015-07-10sync-build.sh: enable compression for rsyncPeter Wu1-0/+2
Advantages: lower transmission size, faster completion for slow WAN links. Disadvantage: slight delays in compile output reporting.
2015-07-10cleanup: notes on LSANPeter Wu1-0/+11
2015-06-28cleanup: make it possible to force code generationPeter Wu1-3/+13
Useful to put remaining dissectors into a template which can further be filled in.
2015-06-28cleanup: add more FIXMEs and print queued changesPeter Wu1-7/+12
2015-06-28cleanup: modify unknown lines and append FIXMEsPeter Wu1-1/+8
Affects 13 dissectors.
2015-06-28cleanup: add FIXME for unknown assignmentsPeter Wu1-0/+4
2015-06-28cleanup: detect bracket on new line, try else handlingPeter Wu1-8/+33
Note: else heuristics is weak... g_hash_table_for_each has an unchecked parameter which needs manual handling.
2015-06-28cleanup: support prototypesPeter Wu1-3/+37
Needed for zigbee dissectors.
2015-06-28Add cleanup routine script and notesPeter Wu2-0/+534
For tracking purposes and in case I need to do something similar again.
2015-06-28sync-build.sh: allow to specify targetPeter Wu1-2/+7
Useful to build just tshark if I want to test a dissector.
2015-03-27sslkeylog.sh: allow it to be sourcedPeter Wu1-4/+6
Switch to bash as there is no readable / easy way to make it compatible for all shells in the world.
2015-03-24sync-build.sh: immediatelly trigger build on execPeter Wu1-0/+5
Avoids the need to manually touch /tmp/sync-build-* to trigger a build on startup. Can be overridden with the NOTRIGGER=1 env.
2015-03-24Add http-chunked-ssl.pcapngPeter Wu1-0/+0
Master keys are available in the capture file comments. This contains a HTTP request and a HTML response without Content-Length over SSL. It is also attached to https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9154
2015-03-24Add http-chunked-ssl.pcapngPeter Wu1-0/+0
Master keys are available in the capture file comments. This contains a HTTP request and chunked response over SSL. It is also attached to https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=11079
2015-03-06sync-build.sh: allow running it locallyPeter Wu1-10/+17
Let 'localhost' bypass SSH so I can still use its watch functionality, but build locally. Use -fno-common to workaround bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65285 Disable verbose warnings and disable werror to reduce the huge trace of warnings which make me overlook real issues.
2015-03-03Add amqps.pcapng (AMQP over SSL)Peter Wu1-0/+0
Master keys are available in the capture file comments. Installed rabbitmq-server on Ubuntu 14.04 (upgraded halfway to 14.10) and wrote /etc/rabbitmq/rabbitmq.config with appriopriate certs: [ {rabbit, [ {ssl_listeners, [5671]}, {ssl_options, [{cacertfile, "/etc/rabbitmq/cert.pem"}, {certfile, "/etc/rabbitmq/cert.pem"}, {keyfile, "/etc/rabbitmq/key.pem"}, {verify, verify_peer}, {fail_if_no_peer_cert, false}]} ]} ]. amqp-tools (amqp-publish, etc.) did not work, so a quick Celery script was used (install python-celery): from celery import Celery app = Celery('tasks', broker='amqp://guest@localhost:5671/') app.conf.update(BROKER_USE_SSL=True) @app.task def add(x, y): return x + y print(add.delay(3, 4))
2015-02-22captures/voip: add websocket-sip.pcapngPeter Wu1-0/+0
Consists of a single TCP stream with SIP over Websockets (port 10080). Created with http://tryit.jssip.net/ and Chromium.
2015-02-22captures/voip: add webrtc-freeswitch.pcapngPeter Wu1-0/+0
Master keys (for TCP[port=8082]/SSL/WebSocket/JSON and for DTLS-SRTP) are present in the capture file comments. Created by starting Chromium 40.0.2214.111 with a new profile, disabling any settings that could cause network interference (also set about:blank as home page). Visit https://webrtc.freeswitch.org/verto/index.html to load everything in cache. Then restart with the sandbox disabled to avoid the suid sandbox (which interferes with getting SSL keys from DTLS-SRTP) and start the actual capture. Command to launch the browser: SSLKEYLOGFILE=premaster.txt \ chromium --user-data-dir=/tmp/cr \ --disable-component-extensions-with-background-pages \ --disable-web-resource --disable-background-networking \ --disable-sandbox --single-process Analyse with: capinfos -k webrtc-freeswitch.pcapng | grep -Po 'CLIENT_RANDOM \S+ \S+' > premaster.txt wireshark -r webrtc-freeswitch.pcapng \ -o ssl.keylog_file:premaster.txt \ -o dtls.keylog_file:premaster.txt \ -o http.ssl.port:8082