ProxymanApp / ProxymanApp/TCPViewer
Add Wireshark display filter support
@NghiaTranUIT is already working on this.
Since Aug 30, 2026.
- Dominant language
- Swift
- Stars
- 434
- Forks
- 20
- Avg merge
- 13h 46m
- Merged PRs (30d)
- 17
Description
Description
TCP Viewer has a visual filter builder, but many people already know Wireshark display filters and use them every day.
Add a Wireshark mode to the packet filter panel. A user should be able to type or paste a Wireshark display filter and apply it without exporting the capture or opening another app.
The filter should use TCP Viewer's embedded Wireshark engine. This keeps the syntax and packet results close to Wireshark. The app should check the expression before applying it. If it is invalid, show a useful message, highlight the part that needs fixing, and keep the last working result on screen.
The current Builder mode should stay available for people who prefer the visual controls.
What the filter works with
- Protocol names such as
tcp,udp,dns,http,tls,icmp,arp, andipv6. - Protocol fields such as
tcp.port == 443,ip.addr == 192.168.1.10, andhttp.request.method == "GET". - TLS fields, including server names such as
tls.handshake.extensions_server_name. - Logic with
and,or,not, and parentheses. - Text and payload checks with
containsandmatches. - Sets, ranges, field slices, and common Wireshark helper functions supported by the embedded Wireshark version.
- Wireshark columns such as
_ws.col.protocoland_ws.col.info. - Imported
.pcapand.pcapngfiles. - Running and stopped live captures.
- Existing quick filters and source-list selections.
- Saved custom filters and TCP Viewer session files, so the expression can be reused later.
Example
tcp.port == 443 and tls.handshake.extensions_server_name contains "example.com"
This should show HTTPS packets whose TLS server name contains example.com.
Related implementation: #95
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.