| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
| |
Replace hardcoded [0,1] split with send_split accepting &[Segment].
Segments exceeding payload length are warned and skipped. Add Segment
type to opt.rs with Display/Debug showing [start,end) notation.
|
| | |
|
| | |
|
| |
|
|
| |
pkt: inline hop inference into put_hop_1, decoupling it from fake
|
| |
|
|
|
|
|
| |
- Add rxring module with RxRing struct (new/next_packet unimplemented)
- Attach cBPF filter for TCP src port 443 SYN/ACK packets
- Multiplex nfqueue and rxring via poll in run loop
- Move fake_autottl SYN/ACK handling to pkt::put_hop
|
| | |
|
| |
|
|
| |
to build_packet/build_segment/send_split
|
| |
|
|
|
|
| |
Pass destination address from PktView::daddr() at call site instead of
re-extracting it from raw bytes inside send_to_raw. Windows side
ignores the argument. Also add #[inline] to PktView accessor methods.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
- add pkt::hoptab: small fixed-size hash table keyed by
IP (v4-mapped/v6) with TTL-based staleness + simple eviction
- store (src_ip -> inferred hop) on SYN/ACK from :443
- lookup (dst_ip -> hop) when crafting fake ClientHello, fallback to
--fake-ttl on miss
- add PktView helpers: ttl(), saddr(), daddr()
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Build WinDivert filter at runtime:
- Default: outbound TLS ClientHello packets
- --fake-autottl: also capture inbound SYN/ACK from tcp sport 443
Keep !impostor to avoid recapture.
|
| | |
|
| |
|
|
|
| |
Move option parsing to opt.rs and packet handling to pkt.rs from
main.rs
|
| |
|
|
|
|
| |
- Extend split_packet_0 to optionally override TCP checksum.
- Compute L3 header length for IPv4/IPv6 and patch checksum field when requested.
- Wire fake_clienthello to set checksum to 0 when fake_badsum() is enabled.
|
| | |
|
| |
|
|
|
| |
- Add --fake flag to enable fake ClientHello injection
- Add --fake-ttl option to override TTL of fake packets
|
| |
|
|
| |
Introduce send_segment abstraction
|
| |
|
|
|
| |
- linux: fix infinite NFQUEUE loop by marking injected packets
- windows: by marking packet to impostor
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|
|
- Added new `pkt.rs` with `PktView` struct wrapping `IpSlice` and `TcpSlice`
- Updated `split_packet` and `handle_packet` to use `PktView`
- Removed repeated calls to `IpSlice::from_slice` / `TcpSlice::from_slice`
- Simplifies code and ensures parsing happens only once per packet
|