Uses pcap to inspect tchannel traffic over a network interface
JavaScript
Clone or download
Latest commit 4e07403 Sep 9, 2016

README.md

tcap

Uses pcap to inspect tchannel traffic over a network interface.

  Usage: tcap [options]

  Options:

    -h, --help                   output usage information
    -V, --version                output the version number
    -i --interface <interface>   network interface interfaces (defaults to first with an address)
    -p --port <port>             a port to track or use "port1-port2" for a range of ports to track between port1 and port2
    -f --filter <filter>         packet filter in pcap-filter(7) syntax (default: all TCP packets on port 4040)
    -s --service <service-name>  service name or names to show (default: all services shown), or
                                 use "~service-name" to exclude the service
    -t --thrift <thrift>         path of the directory for thrift spec files
    -1 --arg1 <arg1-method>      arg1 method or methods to show (default: all arg1 methods shown), or
                                 use "~arg1-method" to exclude the arg1
    --m1                         show arg1 name in call responses
    -r --response <response>     responses to show: O[K], N[otOk], E[rror] (default: all shown)
    -b --buffer-size <mb>        size in MiB to buffer between libpcap and app (default: 10)
    -x --hex                     show hex dumps for all packets
    --inspect                    show JSON dumps for all parsed frames
    --color                      enables colors if not connected to a tty.
    --no-color                   disables colors if connected to a tty.

Example

To monitor tchannel traffic on ports 4040 and 4041 over the loopback and first ethernet interface on a Mac:

tcap -i lo0 -i en0 -p 4040 -p 4041

Note that the interface names differ on other systems. Use ifconfig.

Installation

On Linux, ensure that the libpcap headers are available to the build toolchain. On Debian or Ubuntu:

sudo apt-get install libpcap-dev

Install tcap either in your project, or globally as depicted:

npm install uber/tcap -g

Tests

npm test

NPM scripts

  • npm run add-licence This will add the licence headers.
  • npm run cover This runs the tests with code coverage
  • npm run lint This will run the linter on your code
  • npm test This will run the tests.
  • npm run trace This will run your tests in tracing mode.
  • npm run travis This is run by travis.CI to run your tests
  • npm run view-cover This will show code coverage in a browser

Contributors

  • kriskowal
  • shannili

MIT Licenced