From 2d6564f300642f0781ef8ac856f073102316cb76 Mon Sep 17 00:00:00 2001 From: clerie Date: Mon, 3 Jun 2024 14:48:03 +0200 Subject: [PATCH] Init repo --- .gitignore | 2 ++ flake.lock | 27 +++++++++++++++++++++++++++ flake.nix | 35 +++++++++++++++++++++++++++++++++++ sock-raw.py | 13 +++++++++++++ 4 files changed, 77 insertions(+) create mode 100644 .gitignore create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 sock-raw.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5599f5d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +__pycache__ +result diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..69af9ec --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1717196966, + "narHash": "sha256-yZKhxVIKd2lsbOqYd5iDoUIwsRZFqE87smE2Vzf6Ck0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "57610d2f8f0937f39dbd72251e9614b1561942d8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..9859e11 --- /dev/null +++ b/flake.nix @@ -0,0 +1,35 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + }; + outputs = { self, nixpkgs, ... }: { + packages.x86_64-linux = let + pkgs = import nixpkgs { + system = "x86_64-linux"; + }; + in { + my_project = pkgs.python311Packages.buildPythonPackage rec { + pname = "python-sock-raw"; + version = "0.0.1"; + + src = ./.; + + format = "other"; + + propagatedBuildInputs = with pkgs.python311Packages; [ + ]; + + installPhase = '' + mkdir -p $out/bin + cp sock-raw.py $out/bin/sock-raw + ''; + }; + default = self.packages.x86_64-linux.my_project; + }; + + hydraJobs = { + inherit (self) + packages; + }; + }; +} diff --git a/sock-raw.py b/sock-raw.py new file mode 100644 index 0000000..979bb73 --- /dev/null +++ b/sock-raw.py @@ -0,0 +1,13 @@ +import socket + +s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW) +s.bind(("wlp3s0", 0)) + +src_addr = 0xffffffffffff +dst_addr = 0xffffffffffff +ethertype = 0x1337 + +packet = dst_addr.to_bytes(6) + src_addr.to_bytes(6) + ethertype.to_bytes(2) +print(packet) + +s.send(packet)