Skip to content

A dissector for Wireshark written in Lua that decodes Handshake packets.

License

Notifications You must be signed in to change notification settings

htools-org/wireshark-handshake-protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Handshake Protocol for Wireshark

This is a dissector for Wireshark written in Lua that decodes Handshake packets.

Screenshots

Packet List

Packet Details

Packet Details and Bytes

Progress

Although all packet types have been added, a few haven't been tested yet. Please send a pcap if you are able to capture them (or confirm it works and PR a check mark :D).

Type Packet Parser Tested
0 VERSION ✔️ ✔️
1 VERACK ✔️ ✔️
2 PING ✔️ ✔️
3 PONG ✔️ ✔️
4 GETADDR ✔️ ✔️
5 ADDR ✔️ ✔️
6 INV ✔️ ✔️
7 GETDATA ✔️ ✔️
8 NOTFOUND ✔️
9 GETBLOCKS ✔️ ✔️
10 GETHEADERS ✔️ ✔️
11 HEADERS ✔️ ✔️
12 SENDHEADERS ✔️ ✔️
13 BLOCK ✔️ ✔️
14 TX ✔️ ✔️
15 REJECT ✔️ ✔️
16 MEMPOOL ✔️
17 FILTERLOAD ✔️ ✔️
18 FILTERADD ✔️
19 FILTERCLEAR ✔️
20 MERKLEBLOCK ✔️ ✔️
21 FEEFILTER ✔️
22 SENDCMPCT ✔️ ✔️
23 CMPCTBLOCK ✔️ ✔️
24 GETBLOCKTXN ✔️ ✔️
25 BLOCKTXN ✔️ ✔️
26 GETPROOF ✔️ ✔️
27 PROOF ✔️ ✔️
28 CLAIM ✔️
29 AIRDROP ✔️ ✔️
30 UNKNOWN ✔️

Installation

Simply clone this repository into Wireshark's plugin directory. Make sure the directory is called handshake and not anything else.

To find the location of Wireshark's (personal) plugin directory, Open Wireshark -> Help -> About Wireshark -> Folder tab -> Personal Lua Plugins (not Personal Plugins) Once cloned, {PersonalLuaPlugins}/handshake/handshake.lua must exist.

cd ~/.local/lib/wireshark/plugins/
git clone https://github.com/htools-org/wireshark-handshake-protocol handshake

Then, restart Wireshark or reload plugins (Ctrl + Shift + L).

That's it!

Usage/Examples

Once installed, Handshake packets will automatically be decoded.

The Packet Details pane will have a new tree called Handshake Protocol Data. Expand it to explore the packet.

Some handy display filters:

// Filter by a specific packet type
handshake && handshake.type == 0;

// [add more]

Contributing

Contributions are always welcome!

Each packet type has its own file to keep the code clean and is mostly commented.

If you plan to add a new type, a good place to start is by cloning packet_version.lua and replacing the name, type, fields, and parse. Remember to add the new type in handshake.lua!

Feedback

Feel free to create a new issue if there's anything missing or could use more info.

License

MIT

Acknowledgements

About

A dissector for Wireshark written in Lua that decodes Handshake packets.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages