summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2026-01-20 21:58:43 -0500
committerRobby Zambito <contact@robbyzambito.me>2026-01-20 22:08:10 -0500
commit6db4204bf09851370788fc4ba1b020151454a3d5 (patch)
tree750bbb6e5f817f49d38a217970ac6dd41e581bae
parentdef845401201ec476449f6365050ff518d553bcb (diff)
Set don't fragment, and use random id
-rw-r--r--src/main.zig8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/main.zig b/src/main.zig
index 5e8cabf..2175cf9 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -120,7 +120,7 @@ pub fn main(init: std.process.Init) !void {
fragment_offset: u13 = 0,
flags: packed struct(u3) {
reserved: u1 = 0,
- dont_fragment: u1 = 0,
+ dont_fragment: u1 = 1,
more_fragments: u1 = 0,
} = .{},
@@ -158,8 +158,8 @@ pub fn main(init: std.process.Init) !void {
var headers: EthIpUdp = .{
.src_mac = socket.mac,
.ip = .{
- .id = 0,
- .src_addr = rand.int(u32),
+ .id = rand.int(u16),
+ .src_addr = 0, //rand.int(u32),
.dst_addr = @bitCast([_]u8{ 255, 255, 255, 255 }),
.len = undefined,
},
@@ -231,6 +231,7 @@ pub fn main(init: std.process.Init) !void {
var res = socket.receive(&res_buf) catch continue;
headers.udp.dst_port = udp_dest_port;
+ headers.ip.id = rand.int(u16);
full_msg = blk: {
var msg_buf: [2048]u8 = undefined;
@@ -272,6 +273,7 @@ pub fn main(init: std.process.Init) !void {
connection.connection.payload = cmd_output;
connection_bytes = connection.toBytes(&connection_buf);
headers.setPayloadLen(connection_bytes.len);
+ headers.ip.id = rand.int(u16);
full_msg = blk: {
var msg_buf: [2048]u8 = undefined;