Skip to content

Add tcpviewer-cli command-line support #96

Description

@NghiaTranUIT

Summary

Add tcpviewer-cli, a small command-line tool for controlling TCP Viewer from Terminal, scripts, and other apps.

The CLI should work whether TCP Viewer is open or closed. If the app is closed, the command should launch it quietly and leave it running. JSON should be the default output so other tools can read the result without parsing human text.

What the command line should support

  • Check app status, version, license state, capture state, active file, and packet count.
  • List available network interfaces and show the selected interface.
  • Start capture on a chosen interface, with an optional BPF filter.
  • Pause, resume, stop, and check the current capture.
  • List and summarize packets with filters, limits, ordering, and pagination.
  • Read packet details and raw bytes, clear packets, or reveal a packet in the app.
  • List packets in a TCP stream and follow a stream as text, hex, or base64.
  • Import pcap, pcapng, and tcpviewsession files.
  • Export selected packets as pcap or pcapng, or export the full TCP Viewer session.
  • Check, activate, and revoke a license. Activation must read the key from stdin or a hidden prompt so it does not appear in shell history.
  • List, read, change, and reset common TCP Viewer settings.
  • Return text output when a person wants to read the result directly.

Packet commands should support common filters such as protocol, domain, address, port, client, packet ID, and stream ID. Advanced field filters should also be available for automation.

Related implementation: #93

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions