Skip to content

15 multi protocol scanning#69

Merged
rhendriks merged 42 commits intomasterfrom
15-multi-protocol-scanning
Jan 26, 2026
Merged

15 multi protocol scanning#69
rhendriks merged 42 commits intomasterfrom
15-multi-protocol-scanning

Conversation

@rhendriks
Copy link
Copy Markdown
Owner

Implemented multi protocol scanning (i.e., measurements using mixed ICMP,TCP,UDP probes)
Added port validation for incoming TCP/UDP packets

@rhendriks rhendriks requested a review from Copilot January 26, 2026 14:07
@rhendriks rhendriks self-assigned this Jan 26, 2026
@rhendriks rhendriks added the enhancement New feature or request label Jan 26, 2026
@rhendriks rhendriks linked an issue Jan 26, 2026 that may be closed by this pull request
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements multi-protocol scanning capabilities, allowing measurements to use mixed ICMP, TCP, and UDP probes. It also adds port validation for incoming TCP/UDP packets and refactors origin tracking to support per-protocol origins.

Changes:

  • Added support for multi-protocol measurements with per-origin protocol types
  • Implemented port validation for TCP and UDP reply packets to filter spoofed responses
  • Refactored origin_id from individual replies to reply batches for improved efficiency
  • Renamed "Verfploeter" to "Catchment" throughout the codebase
  • Updated configuration file format to include protocol specification per origin

Reviewed changes

Copilot reviewed 28 out of 28 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
proto/manycastr.proto Added p_type field to Origin message, moved origin_id to ReplyBatch, removed LiveMeasurement RPC
src/worker/inbound/tcp.rs Added destination port validation against source port, removed origin_id parameter
src/worker/inbound/dns.rs Added destination port validation against source port, removed origin_id parameter
src/worker/inbound/ping.rs Removed origin_id parameter from parsing functions
src/worker/inbound/trace.rs Removed origin_id parameter from trace parsing
src/worker/inbound/record_route.rs Removed origin_id parameter from record route parsing
src/worker/inbound/mod.rs Added sport field to InboundConfig, updated to use per-origin protocol types
src/worker/measurement.rs Updated to get protocol type from origin instead of measurement-wide setting
src/orchestrator/service.rs Removed p_type from Start message, added origin_id to task distribution
src/orchestrator/trace.rs Removed timeout result forwarding to CLI, updated trace task creation
src/orchestrator/result_handler.rs Added origin_id parameter to result handlers
src/cli/commands/start.rs Added support for multiple protocol types via command-line arguments
src/cli/config.rs Updated configuration file parser to include protocol type per origin
src/cli/writer/*.rs Updated CSV/Parquet writers to handle per-origin protocol types
src/net/packet.rs Changed TCP timestamp from milliseconds to microseconds
src/main.rs Updated CLI arguments to support comma-separated protocol list, renamed Verfploeter to Catchment
src/custom_module.rs Updated MeasurementType display and parsing for Catchment rename
example.conf Updated configuration file format with new protocol field
README.md Updated documentation for Catchment rename and multi-protocol support
Cargo.toml Version bump to 1.4.0, socket2 dependency update to 0.6.2

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@rhendriks rhendriks merged commit eaa47bd into master Jan 26, 2026
2 checks passed
@rhendriks rhendriks deleted the 15-multi-protocol-scanning branch January 26, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-protocol scanning

2 participants