Skip to main content

RegexCap

Replace packet fields with a regex and display filter. This is useful for removing personally sensitive information by field. TraceWrangler, a windows GUI tool, also performs this function.

Usage

Example Usage

Example 1: Replace MAC address NIC bytes

For example to replace the NIC-specific part of all mac addresses:

$ tshark -r new.pcap -c 1
    1 6c:96:cf:d8:7f:e7  cc:65:ad:da:39:70 108.233.248.45  157.245.238.3 ...
$ regexcap -r old.pcap -w new.pcap -e eth.src -e eth.dst -s '.{6}$' -d 000000
$ tshark -r new.pcap -c 1
    1 6c:96:cf:00:00:00  cc:65:ad:00:00:00 108.233.248.45  157.245.238.3 ...
  • .{6}: Take exactly six bytes of any type
  • $: This regex ends at the end of the field

Example 2: Replace private IP addresses

To replace all private IP addresses with quad 0's, use a byte regex like so:

$ tshark -r new.pcap -c 1
    1   0.000000 192.168.1.246  217.221.186.35 TCP  54 59793  https(443) [ACK] Seq=1 Ack=1 Win=2048 Len=0
$ regexcap -r old.pcap -w new.pcap -d '^(?:0a..|ac1.|c0a8).{4}' -s '00000000'
$ tshark -r new.pcap -c 1
    1   0.000000      0.0.0.0  217.221.186.35 TCP  54 59793  https(443) [ACK] Seq=1 Ack=1 Win=2048 Len=0

Breaking down the regex, an IP address is 32 bits => 8 nibbles (hexadecimal characters). The network bits of each of the private subnets determines how many nibbles each requires. In other words /8 => 2 network chars, /12 => 3 network chars, /16 => 4 network chars.

  • ^: regex starts at beginning of field
  • (?:...):
  • 10.0.0.0/8 =====> 0x0a + ......
  • 172.16.0.0/12 ==> 0xac1 + .....
  • 192.168.0.0/16 => 0xc0a8 + ....
  • .{4} summarizes the last 4 nibbles that are shared

To convert any IP address octet from decimal to hex, you can use the python built-in:

>>> hex(172)
'0xac'

Testing

Run tests/run_tests or pytest -vvv -x from the root dir.

Usage Notes

  • Currently set to error if there is a length mismatch between old and new values.

License

Apache 2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

RegexCap-0.0.tar.gz (5.0 kB view details)

Uploaded Source

File details

Details for the file RegexCap-0.0.tar.gz.

File metadata

  • Download URL: RegexCap-0.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8

File hashes

Hashes for RegexCap-0.0.tar.gz
Algorithm Hash digest
SHA256 0240abe5d66308f5d22d721dd008ebcea042f76452d33121fc5ac8822e05417a
MD5 751cb6a7c4f82edc99367c67e4c0d41c
BLAKE2b-256 e286486b4872bfa6ccc84bddb5dc84570a6018377c52a3381602c961cb9e4de4

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1

1 file

This release

0.0 This release

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page