From 9d092ed9df1b46998dd72c026bce6482b4872b01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20O=2E=20Sel=C3=A5sdal?= Date: Mon, 5 Oct 2026 20:48:08 +0200 Subject: [PATCH] Add missing files, update style --- README.md | 4 +- internal/pcap/reorder.go | 216 +++++++ internal/pcap/reorder_test.go | 195 +++++++ internal/web/reorder.go | 53 ++ internal/web/reorder_test.go | 60 ++ internal/web/static/fonts/Dazzed-Medium.otf | Bin 0 -> 57476 bytes .../web/static/fonts/RobotoMono-Regular.ttf | Bin 0 -> 87236 bytes .../static/fonts/inter-v12-latin-500.woff2 | Bin 0 -> 17552 bytes .../static/fonts/inter-v12-latin-600.woff2 | Bin 0 -> 17660 bytes .../static/fonts/inter-v12-latin-700.woff2 | Bin 0 -> 17784 bytes .../fonts/inter-v12-latin-regular.woff2 | Bin 0 -> 16708 bytes internal/web/static/images/favicon-16x16.png | Bin 0 -> 853 bytes internal/web/static/images/favicon-32x32.png | Bin 0 -> 1392 bytes internal/web/static/style.css | 532 ++++++++++++++---- internal/web/templates/hex2pcap.html | 113 ++-- internal/web/templates/index.html | 18 +- internal/web/templates/layout.html | 31 +- internal/web/templates/reorder.html | 29 + internal/web/templates/split.html | 70 +-- internal/web/upload.go | 42 ++ 20 files changed, 1161 insertions(+), 202 deletions(-) create mode 100644 internal/pcap/reorder.go create mode 100644 internal/pcap/reorder_test.go create mode 100644 internal/web/reorder.go create mode 100644 internal/web/reorder_test.go create mode 100644 internal/web/static/fonts/Dazzed-Medium.otf create mode 100644 internal/web/static/fonts/RobotoMono-Regular.ttf create mode 100644 internal/web/static/fonts/inter-v12-latin-500.woff2 create mode 100644 internal/web/static/fonts/inter-v12-latin-600.woff2 create mode 100644 internal/web/static/fonts/inter-v12-latin-700.woff2 create mode 100644 internal/web/static/fonts/inter-v12-latin-regular.woff2 create mode 100644 internal/web/static/images/favicon-16x16.png create mode 100644 internal/web/static/images/favicon-32x32.png create mode 100644 internal/web/templates/reorder.html create mode 100644 internal/web/upload.go diff --git a/README.md b/README.md index cb347fb..d1cf122 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,9 @@ Memory is roughly 16 bytes per packet for the index, plus about 16 MB of copy bu ``` main.go entry point, HTTP server -internal/web/ handlers, tool registry, embedded templates and CSS +internal/web/ handlers, tool registry, embedded templates +internal/web/static/ style.css: one stylesheet shared by all pages, following the + utel-frontend design; fonts/ and images/ copied from utel-frontend internal/pcap/ pcap file reader, writer, splitter and reorderer internal/inet/ IPv4/IPv6 length and checksum fixups, IP header locator internal/hexutil/ lenient hex decoding diff --git a/internal/pcap/reorder.go b/internal/pcap/reorder.go new file mode 100644 index 0000000..832b8ea --- /dev/null +++ b/internal/pcap/reorder.go @@ -0,0 +1,216 @@ +package pcap + +import ( + "cmp" + "errors" + "io" + "slices" + "sync" + "sync/atomic" +) + +// A reorderEntry is 16 bytes, which bounds the memory needed per packet. +type reorderEntry struct { + ts uint64 // seconds << 32 | fraction (µs or ns, consistent within a file) + pos uint64 // record offset << lenBits | record length (including the 16 byte record header) +} + +const ( + lenBits = 28 // fits MaxRecordLen + 16 + maxOffset = 1<<(64-lenBits) - 1 +) + +func (e reorderEntry) off() int64 { return int64(e.pos >> lenBits) } +func (e reorderEntry) len() int { return int(e.pos & (1< maxOffset { + return nil, errors.New("file too large to reorder") + } + ts := uint64(pr.order.Uint32(rec[0:4]))<<32 | uint64(pr.order.Uint32(rec[4:8])) + if ts < latest { + ro.outOfOrder++ + } + latest = max(latest, ts) + ro.entries = append(ro.entries, reorderEntry{ts: ts, pos: uint64(off)< 0 { + slices.SortStableFunc(ro.entries, func(a, b reorderEntry) int { return cmp.Compare(a.ts, b.ts) }) + } + return ro, nil +} + +// Packets returns the number of packets. +func (ro *Reorder) Packets() int { return len(ro.entries) } + +// OutOfOrder returns the number of packets with a timestamp earlier than a +// packet before them in the input. +func (ro *Reorder) OutOfOrder() int { return ro.outOfOrder } + +// Truncated reports whether the input ended with an incomplete packet +// record, which is left out of the output. +func (ro *Reorder) Truncated() bool { return ro.truncated } + +type batch struct { + buf []byte + err error +} + +// WriteTo writes the file header followed by the packets in timestamp order. +func (ro *Reorder) WriteTo(w io.Writer) (int64, error) { + if ro.outOfOrder == 0 { + return io.Copy(w, io.NewSectionReader(ro.r, 0, ro.end)) + } + + n, err := w.Write(ro.header) + total := int64(n) + if err != nil { + return total, err + } + + // A producer goroutine reads batches into two alternating buffers while + // this goroutine writes them out. + full := make(chan batch) + free := make(chan []byte, 2) + free <- nil + free <- nil + done := make(chan struct{}) + var wg sync.WaitGroup + defer func() { + close(done) + wg.Wait() + }() + wg.Go(func() { + defer close(full) + for i := 0; i < len(ro.entries); { + var buf []byte + select { + case buf = <-free: + case <-done: + return + } + var err error + i, buf, err = ro.readBatch(i, buf) + select { + case full <- batch{buf, err}: + case <-done: + return + } + if err != nil { + return + } + } + }) + + for b := range full { + if b.err != nil { + return total, b.err + } + n, err := w.Write(b.buf) + total += int64(n) + if err != nil { + return total, err + } + free <- b.buf + } + return total, nil +} + +// readBatch reads the records of entries[i:j] into buf, choosing j so that +// the batch stays within batchBytes and batchPackets (but holds at least one +// record). It returns j and the filled buffer. +func (ro *Reorder) readBatch(i int, buf []byte) (int, []byte, error) { + j, size := i, 0 + for j < len(ro.entries) && j-i < batchPackets && (j == i || size+ro.entries[j].len() <= batchBytes) { + size += ro.entries[j].len() + j++ + } + entries := ro.entries[i:j] + dst := make([]int, len(entries)+1) + for k, e := range entries { + dst[k+1] = dst[k] + e.len() + } + buf = slices.Grow(buf[:0], size)[:size] + + var ( + next atomic.Int64 + wg sync.WaitGroup + errs [readers]error + ) + for r := range min(readers, len(entries)) { + wg.Go(func() { + for { + k := int(next.Add(1) - 1) + if k >= len(entries) { + return + } + e := entries[k] + if _, err := ro.r.ReadAt(buf[dst[k]:dst[k+1]], e.off()); err != nil { + errs[r] = err + return + } + } + }) + } + wg.Wait() + return j, buf, errors.Join(errs[:]...) +} diff --git a/internal/pcap/reorder_test.go b/internal/pcap/reorder_test.go new file mode 100644 index 0000000..7fd4704 --- /dev/null +++ b/internal/pcap/reorder_test.go @@ -0,0 +1,195 @@ +package pcap + +import ( + "bytes" + "encoding/binary" + "errors" + "io" + "math/rand/v2" + "slices" + "strings" + "testing" + "time" +) + +// reorderTestFile builds a pcap file with one packet per timestamp; each +// packet's data is its index in the input. +func reorderTestFile(t *testing.T, ts ...time.Time) []byte { + t.Helper() + var buf bytes.Buffer + w, err := NewWriter(&buf, LinkTypeEthernet) + if err != nil { + t.Fatal(err) + } + for i, tm := range ts { + if err := w.WritePacket(tm, bytes.Repeat([]byte{byte(i)}, i+1)); err != nil { + t.Fatal(err) + } + } + return buf.Bytes() +} + +// packetIDs returns the first data byte of each packet in a pcap file. +func packetIDs(t *testing.T, file []byte) []int { + t.Helper() + r, err := NewReader(bytes.NewReader(file)) + if err != nil { + t.Fatal(err) + } + var ids []int + for { + rec, err := r.Next() + if err == io.EOF { + return ids + } + if err != nil { + t.Fatal(err) + } + ids = append(ids, int(rec[16])) + } +} + +func TestReorder(t *testing.T) { + s := func(sec int64, usec int) time.Time { return time.Unix(sec, int64(usec)*1000) } + tests := []struct { + name string + ts []time.Time + want []int + outOfOrder int + }{ + {"sorted", []time.Time{s(1, 0), s(1, 1), s(2, 0)}, []int{0, 1, 2}, 0}, + {"reversed", []time.Time{s(3, 0), s(2, 0), s(1, 0)}, []int{2, 1, 0}, 2}, + {"microseconds", []time.Time{s(5, 999999), s(5, 2), s(5, 10)}, []int{1, 2, 0}, 2}, + {"stable for equal timestamps", []time.Time{s(2, 0), s(1, 0), s(2, 0), s(1, 0)}, []int{1, 3, 0, 2}, 2}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + in := reorderTestFile(t, tt.ts...) + ro, err := NewReorder(bytes.NewReader(in), int64(len(in))) + if err != nil { + t.Fatal(err) + } + var out bytes.Buffer + n, err := ro.WriteTo(&out) + if err != nil { + t.Fatal(err) + } + if n != int64(len(in)) || out.Len() != len(in) { + t.Errorf("wrote %d (%d) bytes, want %d", n, out.Len(), len(in)) + } + if !bytes.Equal(out.Bytes()[:24], in[:24]) { + t.Error("file header changed") + } + if got := packetIDs(t, out.Bytes()); !slices.Equal(got, tt.want) { + t.Errorf("order %v, want %v", got, tt.want) + } + if ro.Packets() != len(tt.ts) || ro.OutOfOrder() != tt.outOfOrder || ro.Truncated() { + t.Errorf("packets %d outOfOrder %d truncated %v", ro.Packets(), ro.OutOfOrder(), ro.Truncated()) + } + }) + } +} + +func TestReorderTruncated(t *testing.T) { + in := reorderTestFile(t, time.Unix(2, 0), time.Unix(1, 0), time.Unix(0, 0)) + in = in[:len(in)-1] + ro, err := NewReorder(bytes.NewReader(in), int64(len(in))) + if err != nil { + t.Fatal(err) + } + var out bytes.Buffer + if _, err := ro.WriteTo(&out); err != nil { + t.Fatal(err) + } + if !ro.Truncated() || !slices.Equal(packetIDs(t, out.Bytes()), []int{1, 0}) { + t.Errorf("truncated %v, order %v", ro.Truncated(), packetIDs(t, out.Bytes())) + } +} + +func TestReorderErrors(t *testing.T) { + for name, tc := range map[string]struct { + in []byte + want string + }{ + "no packets": {reorderTestFile(t), "no packets"}, + "garbage": {bytes.Repeat([]byte("y"), 30), "unknown magic"}, + } { + _, err := NewReorder(bytes.NewReader(tc.in), int64(len(tc.in))) + if err == nil || !strings.Contains(err.Error(), tc.want) { + t.Errorf("%s: error %v, want %q", name, err, tc.want) + } + } +} + +// TestReorderManyPackets covers multiple parallel batches, including packets +// that are bigger than a whole batch, against a simple reference sort. +func TestReorderManyPackets(t *testing.T) { + defer func(n int) { batchBytes = n }(batchBytes) + batchBytes = 64 << 10 + + r := rand.New(rand.NewPCG(1, 2)) + var buf bytes.Buffer + w, err := NewWriter(&buf, LinkTypeEthernet) + if err != nil { + t.Fatal(err) + } + type pkt struct { + ts time.Time + data []byte + } + var pkts []pkt + for i := range 50000 { + size := 8 + r.IntN(200) + if i%10000 == 5 { + size = batchBytes + 1000 // gets a batch by itself + } + data := make([]byte, size) + binary.LittleEndian.PutUint64(data, uint64(i)) + p := pkt{time.Unix(int64(r.IntN(1000)), int64(r.IntN(1000))*1000), data} + pkts = append(pkts, p) + if err := w.WritePacket(p.ts, p.data); err != nil { + t.Fatal(err) + } + } + slices.SortStableFunc(pkts, func(a, b pkt) int { return a.ts.Compare(b.ts) }) + + in := buf.Bytes() + ro, err := NewReorder(bytes.NewReader(in), int64(len(in))) + if err != nil { + t.Fatal(err) + } + var out bytes.Buffer + if _, err := ro.WriteTo(&out); err != nil { + t.Fatal(err) + } + var want bytes.Buffer + ww, _ := NewWriter(&want, LinkTypeEthernet) + for _, p := range pkts { + ww.WritePacket(p.ts, p.data) + } + if !bytes.Equal(out.Bytes(), want.Bytes()) { + t.Error("reordered output differs from reference sort") + } +} + +type failingWriter struct{ n int } + +func (f *failingWriter) Write(p []byte) (int, error) { + if f.n--; f.n < 0 { + return 0, errors.New("write failed") + } + return len(p), nil +} + +func TestReorderWriteError(t *testing.T) { + in := reorderTestFile(t, time.Unix(2, 0), time.Unix(1, 0)) + ro, err := NewReorder(bytes.NewReader(in), int64(len(in))) + if err != nil { + t.Fatal(err) + } + for n := range 2 { + if _, err := ro.WriteTo(&failingWriter{n: n}); err == nil { + t.Errorf("failing after %d writes: no error", n) + } + } +} diff --git a/internal/web/reorder.go b/internal/web/reorder.go new file mode 100644 index 0000000..092873b --- /dev/null +++ b/internal/web/reorder.go @@ -0,0 +1,53 @@ +package web + +import ( + "fmt" + "log" + "net/http" + "strconv" + + "pcap-web-tools/internal/pcap" +) + +type reorderPage struct { + MaxUpload string + Error string +} + +func (s *Server) handleReorderForm(w http.ResponseWriter, r *http.Request) { + s.render(w, http.StatusOK, "reorder.html", "/reorder", reorderPage{MaxUpload: s.maxUpload()}) +} + +func (s *Server) handleReorder(w http.ResponseWriter, r *http.Request) { + page := reorderPage{MaxUpload: s.maxUpload()} + fail := func(status int, msg string) { + page.Error = msg + s.render(w, status, "reorder.html", "/reorder", page) + } + + file, hdr, status, msg := s.parseUpload(w, r) + if status != 0 { + fail(status, msg) + return + } + defer file.Close() + + // Indexing reads the whole file, so problems are reported on the page + // before any of the download is sent. + ro, err := pcap.NewReorder(file, hdr.Size) + if err != nil { + fail(http.StatusBadRequest, hdr.Filename+": "+err.Error()) + return + } + + w.Header().Set("Content-Type", "application/vnd.tcpdump.pcap") + w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%q", uploadStem(hdr)+"_reordered.pcap")) + // Summary for scripted clients; browsers just save the file. + w.Header().Set("X-Pcap-Packets", strconv.Itoa(ro.Packets())) + w.Header().Set("X-Pcap-Out-Of-Order", strconv.Itoa(ro.OutOfOrder())) + w.Header().Set("X-Pcap-Truncated", strconv.FormatBool(ro.Truncated())) + if _, err := ro.WriteTo(w); err != nil { + // The response has already started, so the error cannot be shown on the page. + log.Printf("reorder %q: %v", hdr.Filename, err) + } +} diff --git a/internal/web/reorder_test.go b/internal/web/reorder_test.go new file mode 100644 index 0000000..a75395c --- /dev/null +++ b/internal/web/reorder_test.go @@ -0,0 +1,60 @@ +package web + +import ( + "bytes" + "io" + "net/http" + "strings" + "testing" + "time" + + "pcap-web-tools/internal/pcap" +) + +func TestReorderHandler(t *testing.T) { + srv, err := New(Config{MaxUploadBytes: 1 << 20}) + if err != nil { + t.Fatal(err) + } + var in bytes.Buffer + w, _ := pcap.NewWriter(&in, pcap.LinkTypeEthernet) + for _, sec := range []int64{3, 1, 2} { + w.WritePacket(time.Unix(sec, 0), []byte{byte(sec)}) + } + + rec := postUpload(t, srv, "/reorder", "trace.pcap", in.Bytes(), nil) + if rec.Code != http.StatusOK { + t.Fatalf("status %d: %s", rec.Code, rec.Body) + } + if cd := rec.Header().Get("Content-Disposition"); cd != `attachment; filename="trace_reordered.pcap"` { + t.Errorf("Content-Disposition %q", cd) + } + if got := rec.Header().Get("X-Pcap-Out-Of-Order"); got != "2" { + t.Errorf("X-Pcap-Out-Of-Order %q", got) + } + r, err := pcap.NewReader(rec.Body) + if err != nil { + t.Fatal(err) + } + var order []byte + for { + p, err := r.Next() + if err == io.EOF { + break + } + if err != nil { + t.Fatal(err) + } + order = append(order, p[16]) + } + if !bytes.Equal(order, []byte{1, 2, 3}) { + t.Errorf("order %v", order) + } + + for name, file := range map[string][]byte{"no file": nil, "not pcap": []byte("hello world, not a pcap file")} { + rec := postUpload(t, srv, "/reorder", "x.pcap", file, nil) + if rec.Code != http.StatusBadRequest || !strings.Contains(rec.Body.String(), `class="error"`) { + t.Errorf("%s: status %d", name, rec.Code) + } + } +} diff --git a/internal/web/static/fonts/Dazzed-Medium.otf b/internal/web/static/fonts/Dazzed-Medium.otf new file mode 100644 index 0000000000000000000000000000000000000000..c5c1ab0f134df3742633abf9bddfc9e0db2eaf23 GIT binary patch literal 57476 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

(kckJ|6 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 literal 0 HcmV?d00001 diff --git a/internal/web/static/fonts/RobotoMono-Regular.ttf b/internal/web/static/fonts/RobotoMono-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6df2b253603094de7f39886aae03181c686e375b GIT binary patch literal 87236 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 WiD&}1U9w};%2Kl9!gJKh^8W$jCY;;= literal 0 HcmV?d00001 diff --git a/internal/web/static/fonts/inter-v12-latin-500.woff2 b/internal/web/static/fonts/inter-v12-latin-500.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6fc94ad0ccdc6d8823e61c59618767f3206458bf GIT binary patch literal 17552 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 literal 0 HcmV?d00001 diff --git a/internal/web/static/fonts/inter-v12-latin-700.woff2 b/internal/web/static/fonts/inter-v12-latin-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8fcc4321c7ef938a64db296f2ce380c632e6c06f GIT binary patch literal 17784 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

5BjbKPz%2L=TxN$Z{ zJVEsV_<3?Xz<&Qg8^Z9vwaFpWy@4eT0+N$vW`dOe>CaxdE({waVIF)$WTyZLm$9Qt zuo$Qjvax`akC3&o!HG>IxkpD9XJN%ObV3uYf#$RMgyV*U^>R4fp=F?L4^c{(3+7`OEM4=Xt{a-1uSTXUo4Yf5Gq<$MZ~0ohq~6-&y<*g2i| zBiNXG%mJTeL;bhEY^Sx%5GiZdEDz#PmXGz?JVNu`Mi3^#Xc%qr-l;*vpcn1YuMFhF z02l3YT-H%0eU^j&p&cEP6Ue9uw7(v0PCvsHeN=qij**~|A=hjX(=Ls$ZR+NonwJZOGSSbQtQ!3J9|<+ zwxufXR*y=)3RC(f%>SJ&3wocB2bL12q)+Ym1TLK20j7&)L9@m2sn zFuM;bw_w6;zN7_owu_Q5vC=<_Dk6sj=+b6O+SATLGL)t#XiwDh`f4VKf3y|ykf&^Z zc1{5KC{Mr0Z$^i}1V~XPla=(jApyJ6D6mxDIk?xT&NHH9HBc{ zcvr|Lo9h||DF@{s%iCyQ;hJe4%i@*T2*%31!(?`n9GH^6N)@ibV3z83@?k1E4H!4vAt$P{j@>8-gq2)hOzyJt~juqOeyFxIH4k+`gdqoNJrQwLQ7?*9;wB9EMl2TH*<^-)SLZKicU`gaP zvEf#pQ;7-uDsf6^dX${NrsO+qSvV0Uf5rkQpd6~STwsIe`Rg**qMEg8AVy;&bdJf| zVH)|lJV@uO?DJUGdI3U)12h9fZK3u<+jV$-}Ts=?avn@tvY5dL}sQ$W-e7$mZjyl+(*() z8$9Cqc3DAtt}1i|&FKW$*KW$ztxA*sepjzj?{l8S7@^*)>X~f|W*0oGXfZM+M?U}E8H`~_Uk45;~0p8X7jCz5?qLHtRO_5J1sOJF?w$jBR2)>4#(J2(W<3bqt zj5ARW;T!~}(*#ed=%X0Ebk5_MU;M@eXLfJ3bjiAS7>>)tdl{+R*RKE3B}uZ8m1Vj5 z8J5+JjCxldullX$6FP;8zdhES@nzF#R^dg_}?!{hTTZgxq9Frg(S4qQq32kF3;TmNa_y zIQ}OgN(==}963-eQB|U&DQ&0!6yFxm^yAK^nbJ@l$=Om4I(^5+faz4738%{-Uzl{M znD)_$)gY!Q&+lf+(XBJH{?llTG;k6HpAjA%ny{1N=|6MmcOw;&^Bl!Q8dymsRaH~~ z07S&f9<}hxri`$u*W^v4HO;V7K*$hNr6dwb0Dyoa;j_!5+ieVEh*4_45^J<}^kO2; z^Oz`;0z;MWBR5r5RR91H5faWbEHTmHnVA?8$^Q>!^6r|buw-UtCX!TERY3s+L`0B? z>kd~~Wc(lKnaGlfDr;tDMj}Z?RTUIKKtv=-+Fr(3h2{TXXQ>;G{+66!C|QMªx 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 YIibWp^?&tIht8qTWw`N6_B#Lo07d&VN&o-= literal 0 HcmV?d00001 diff --git a/internal/web/static/images/favicon-16x16.png b/internal/web/static/images/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..fc8f582291f3a55b291505e4f65ac17678b4a9c0 GIT binary patch literal 853 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>`W@Ck9%aB{?t)Eymc zLV|T%UD7Hme3KHZySsgo64e~+-D6|=X3wtb>I}`wRJOA*^ztliYpv_;4N6ZhYHrS~ zt}1D5af^*H_xICuc5;r249(264-dO_|K5}5&o5lPdh6c3U55_2#YC$)I=IF}7d1B- zd3()SvHbU+KmY&#zi{o^;&to%Qj&d>lTMsJzhT$TlNT;Le)jC&zkib#%s2M&)^c(7 zN{D~+?%nB&7p;SXRPF7e^Yh+)_;Bg^_1ACTzW?}f!J5^vg$1e(_A2&v1&s~Y@7!sg zG-=x6MGu}lS+{-rx*a>TU7VXHPTag_&yE8JECT#@96YdQ+qUE9&N@d%xW~l?q^8)1 zh5Dx?2c)K21_m_T*i#A&O0JS1zu+0)e=hy@>&KtJn`90hy9E?wO!9VjF}!(Owg|{! zFY)wsWq-yc%`2)Mv_Xs=D74wr#W6(Ua&kh#6DKC0Gdwy8Z00^KQyC9Ef7sgD!206{ zD@*GHmL09GE=P~Fw(MBQbVq1X&?TcyMW49t1c-KdozhyB^-5}1)U5=@T-jJX+gfI4 z+I=pX6&bT>o@A-qA3>Pm* z`)6bwy8v{)YKdz^NlIc#s#S7PDv)9@GB7gIH8jvQG7m8{wlXrbGBMURFt9Q(@L9fn z8H$G7{FKbJO57T3fALEJHH24%M3e+2mMat#<)>xlq$-qD7Nja<7L+72FjUNW{E3I7 zFib<^l>g~7o=<}qn3cKplDUPIg}o<>FbgZVG?*MtVOHK8qHy}gl@mwK9FaM~e!9V9 cftMb`D{;Y+Pfn&&fmSehy85}Sb4q9e03SI_kpKVy literal 0 HcmV?d00001 diff --git a/internal/web/static/images/favicon-32x32.png b/internal/web/static/images/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..dd17f440660ca06ca810be74101b33c3663accac GIT binary patch literal 1392 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+081Cx1xPl&6AlOq{O-O)kK z!QL(`G$J=g%h|~xJS@JbP}A8-#ojKpqWt{TtJc9mF$MXz?%!{m(0}pz^{kp|ReQVK z`no$09`wwbrQ_zhc-^`cn>MM~*(Q~i+`M;p@`45B9qn2!&e8dKK8Xo>9_~?jxxKSz z>wCCc2L&1XcK1S&cw$jAT_0?r^m?4^Z)<<|Ni~Ib?;tnZ_n$uZ?E6E{p9)c{DuZ?R~Orm z;43$8uG_KW@87?dZ`^qG=FOLH-)&~tYS&B`okZF&FkQ0qweHb(Ae`u%%;W5e#lho>%DbokV%nM;@MKX$Bh`gCPGTbq#J z(-$umw>1Cy{rmczJ7#{q1x<|$*RGkjYGrIe!RvSLK7Rh3SzUGF{JEm$CPOdJ($?1c zzP{EeljDnuQp?L*Cr=JYOAXJ?>dCf|1*R>*k|4ie-n!@i-cAtv{(IKbZ?Au?`Jq&M zQUsLn7?Zr+U3|Xh3w#E0*h@TpUD=;;N%M;8oVn7x1Sq}D)5S5w;&gICLQ0a@5!Q%^ zn-UT?SwAxH`LXFa?rE6aD7l}>ku9Zff`J^XgQuckpy3>@mLsYvOP8dkv=(RzOq(1& zVM=I7(6P+cC0(m#?P^oYGuOz@eEs6o%a_c&hgUh=J#gW~jU!ji#N0e|2^jbiv5ga^ zZtYz=cjuD5&5I{*?p{56x4|yXNpkbzvhIa-+3lJxMd6_9?;Ce-Qw;iKo5kDgwBo}zAn3UB65o2RI{X8ugkhs-QDk6G?qp{C*e z{Hgd7F)`8UQ<$EfzT|xBqD*9_*xe=q&BEVUC>^YfZ*!y4Q8 zBxHW(<@7UG=9%73KX<3n?z8p<(Ia{vA}z8fo`0n3J^kkvo%oGGVrOSNtxo%~CT`QQ z^tB(Rl)g64xg)YMQZm%>@wBzKr}@p?Q_Fr~)7;%m2qrgd^MlW)bQlY`LpAx :first-child { margin-top: 0; } +.widget-content > :last-child { margin-bottom: 0; } + +.widget-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); } +.tool-card { display: flex; flex-direction: column; text-decoration: none; color: inherit; transition: background 0.1s; } +.tool-card:hover { background: var(--utel-content-hover-color); } +.tool-card .widget-content { flex: 1; color: var(--utel-p-text-color); font-size: 14px; } + +/* ---------- Buttons ---------- */ + +.btn { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 6px; + height: 35px; + padding: 6px 16px; + border: 0; + border-radius: 80px; + font: 700 15px var(--font-body); + color: var(--utel-text-color); + background: var(--utel-widget-button-color); + cursor: pointer; + text-decoration: none; + white-space: nowrap; +} +.btn:hover { background: var(--utel-widget-button-color-darker); } +.btn:focus-visible { outline: 2px solid var(--utel-highlight-text-color); outline-offset: 2px; } +.btn.primary { background: var(--utel-solid-button-color); } +.btn.primary:hover { background: var(--utel-solid-button-color-darker); } +.btn:disabled { opacity: 0.5; cursor: not-allowed; } + +.actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 15px; } + +/* ---------- Forms ---------- */ + +label, .label { + display: block; + margin: 12px 0 4px; + color: var(--utel-content-text-color); + font-size: 14px; + font-weight: 500; +} + +input, select, textarea { + font: 400 14px var(--font-body); + color: var(--utel-content-text-color); +} + +/* Single line inputs and selects: utel pill style */ +input:not([type=checkbox], [type=radio], [type=file]), select { + width: 100%; + height: 32px; + padding: 0 15px; + background: var(--utel-content-background); + border: 1px solid var(--utel-input-border-color); + border-radius: 64px; +} +select { + appearance: none; + padding-right: 36px; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23a7a7a7' stroke-width='1.6'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 14px center; + background-size: 12px 8px; + text-overflow: ellipsis; +} +select option { background: var(--utel-content-background); } + +/* Multi-line hex input: same border, darker field, rounded rectangle */ +textarea { + display: block; + width: 100%; + padding: 8px 12px; + background: var(--utel-content-darker-background); + border: 1px solid var(--utel-input-border-color); + border-radius: 5px; + font-family: var(--font-mono); + font-size: 13px; + resize: vertical; +} + +::placeholder { color: var(--utel-icon-label-text-color); opacity: 1; } + +input:focus, select:focus, textarea:focus { outline: none; border-color: var(--utel-solid-button-color); } + +/* Checkbox and radio: 18px box with the utel green when checked */ +input[type=checkbox], input[type=radio] { + appearance: none; + flex: none; + width: 18px; + height: 18px; + margin: 0; + border: 1px solid var(--utel-content-border-color); + border-radius: 3px; + background: transparent; + display: grid; + place-items: center; + cursor: pointer; +} +input[type=radio] { border-radius: 50%; } +input[type=checkbox]:checked, input[type=radio]:checked { + background: var(--utel-solid-button-color); + border-color: var(--utel-solid-button-color); +} +input[type=checkbox]:checked::after { + content: ""; + width: 10px; + height: 6px; + margin-top: -3px; + border: solid var(--utel-text-color); + border-width: 0 0 2px 2px; + transform: rotate(-45deg); +} +input[type=radio]:checked::after { + content: ""; + width: 8px; + height: 8px; + border-radius: 50%; + background: var(--utel-text-color); +} +input[type=checkbox]:focus-visible, input[type=radio]:focus-visible { outline: 2px solid var(--utel-highlight-text-color); outline-offset: 2px; } + +label.check { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 8px; + font-weight: 400; + font-size: 15px; +} + +/* File input: the button looks like a secondary utel button */ +input[type=file] { + width: 100%; + padding: 4px; + border: 1px dashed var(--utel-input-border-color); + border-radius: 5px; + color: var(--utel-icon-label-text-color); +} +input[type=file]::file-selector-button { + height: 30px; + margin-right: 12px; + padding: 0 14px; + border: 0; + border-radius: 80px; + font: 700 14px var(--font-body); + color: var(--utel-text-color); + background: var(--utel-widget-button-color); + cursor: pointer; +} +input[type=file]::file-selector-button:hover { background: var(--utel-widget-button-color-darker); } + +fieldset { border: 0; padding: 0; margin: 0; min-width: 0; } +legend { padding: 0; margin: 12px 0 4px; font-size: 14px; font-weight: 500; color: var(--utel-content-text-color); } + +/* Three controls on one line: link type, custom link type, file name */ +.row { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 0 12px; align-items: start; } +.row label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } +.field-hint { display: block; margin: 4px 0 0 15px; } +@media (max-width: 720px) { .row { grid-template-columns: 1fr; } } + +/* Split modes: radio with inline number input and unit */ +.modes label.check { margin: 8px 0; } +.modes input.num { width: 8rem; } +.modes select.unit { width: 5.5rem; } + +/* ---------- Messages ---------- */ + +.error { + margin: 0 5px 10px; + padding: 10px 15px; + border: 1px solid var(--utel-fraud-color-red); + border-left-width: 4px; + border-radius: 5px; + background: rgb(234 111 128 / 0.1); + color: var(--utel-text-color); +} + +/* ---------- Tables (utel table-theme) ---------- */ + +table { width: 100%; border-collapse: collapse; font-size: 14px; } +th { + padding: 0 10px 5px 5px; + text-align: left; + font-weight: 400; + white-space: nowrap; + color: var(--utel-table-header-text-color); +} +td { + padding: 5px 10px 5px 5px; + font-weight: 500; + background: var(--utel-table-color); + border-top: 1px solid var(--utel-table-split-color); +} +tr.changed td:last-child { color: var(--utel-highlight-text-color); } + +/* ---------- hex2pcap result ---------- */ + +.summary { display: grid; grid-template-columns: max-content 1fr; gap: 4px 16px; margin: 0; font-size: 14px; } +.summary dt { color: var(--utel-icon-label-text-color); } .summary dd { margin: 0; } -table { border-collapse: collapse; width: 100%; background: var(--card); border: 1px solid var(--border); } -th, td { text-align: left; padding: 0.4rem 0.75rem; border-bottom: 1px solid var(--border); } -th { color: var(--muted); font-weight: 600; font-size: 0.85rem; } -tr.changed td:last-child { font-weight: 600; } - .dump { - font-family: var(--mono); - font-size: 0.85rem; - background: var(--card); - border: 1px solid var(--border); - border-radius: 6px; - padding: 0.75rem 1rem; + margin: 0; + padding: 10px 12px; overflow-x: auto; + background: var(--utel-content-darker-background); + border-radius: 5px; + color: var(--utel-p-text-color); + line-height: 1.6; } -.dump .off { color: var(--muted); } -.l2 { color: var(--l2); } -.l3 { color: var(--l3); } -.l7 { color: var(--l7); } -.chg { text-decoration: underline; text-underline-offset: 3px; font-weight: 700; } +.dump .off { color: var(--utel-table-header-text-color); } +.l2 { color: var(--utel-fraud-color-yellow); } +.l3 { color: var(--utel-severity-color-low); } +.l7 { color: var(--utel-p-text-color); } +.chg { text-decoration: underline; text-underline-offset: 3px; color: var(--utel-highlight-text-color); font-weight: 700; } -input[type=file] { padding: 0.4rem; } -.modes { margin-top: 1rem; } -.modes legend { font-weight: 600; margin-bottom: 0.3rem; } -.modes label.check { font-weight: normal; margin: 0.5rem 0; align-items: center; } -.modes input.num { width: 8rem; } -.modes select.unit { width: auto; } +/* A hint under a checkbox lines up with the checkbox's text */ +label.check + .field-hint { margin: 2px 0 0 26px; } diff --git a/internal/web/templates/hex2pcap.html b/internal/web/templates/hex2pcap.html index 6838702..6acc84b 100644 --- a/internal/web/templates/hex2pcap.html +++ b/internal/web/templates/hex2pcap.html @@ -1,35 +1,44 @@ {{define "title"}}Hex → pcap{{end}} +{{define "toolbar-info"}}Build a pcap file from hex · Load example{{end}} + {{define "content"}} {{with .Data}} -

Hex → pcap

-

- Paste hex for each layer. The fields are decoded and concatenated into one packet. - Any field may be empty, so you can also paste a whole packet into a single field. - Spaces, newlines, :, -, 0x and \x are ignored. - Load example. -

- {{if .Error}}{{end}}
- - +
+

Packet

+
+

+ Paste hex for each layer. The fields are decoded and concatenated into one packet. + Any field may be empty, so you can also paste a whole packet into a single field. + Spaces, newlines, :, -, 0x and \x are ignored. +

- - + + - - + + -
+ + +
+
+ +
+

Options

+
+

+ IPv4/IPv6 length, IPv4 header checksum, TCP/UDP/ICMP/ICMPv6/SCTP checksum, UDP length. + The end of the layer 3 field also sets the TCP data offset and the length of the SCTP chunk the payload belongs to + (paste chunk data without padding). +

@@ -39,55 +48,59 @@
- - + + + Used when “Custom…” is selected
- -
- - +
+ + +
+
{{with .Result}} -
-

Preview

-
-
Packet length
{{len .Packet}} bytes
-
Link type
{{.LinkTypeName}} ({{.LinkType}})
-
Layers
-
- layer 2: {{.L2Len}} · - layer 3: {{.L3Len}} · - payload: {{.L7Len}} -
-
+
+

Preview

+
+
+
Packet length
{{len .Packet}} bytes
+
Link type
{{.LinkTypeName}} ({{.LinkType}})
+
Layers
+
+ layer 2: {{.L2Len}} · + layer 3: {{.L3Len}} · + payload: {{.L7Len}} +
+
- {{if .Fixed}} -

Fixups IP header at offset {{.IPOffset}}

- - - - {{range .Fix.Changes}} - - {{end}} - -
FieldOldNew
{{.Field}}{{.Old}}{{.New}}
- {{range .Fix.Notes}}

{{.}}

{{end}} - {{end}} + {{if .Fixed}} +

Fixups IP header at offset {{.IPOffset}}

+ + + + {{range .Fix.Changes}} + + {{end}} + +
FieldOldNew
{{.Field}}{{.Old}}{{.New}}
+ {{range .Fix.Notes}}

{{.}}

{{end}} + {{end}} -

Hex dump changed bytes are underlined

-
+    

Hex dump changed bytes are underlined

+
 {{- range .Dump -}}
 {{.Offset}}  {{range .Bytes}}{{.Hex}}{{.Sep}}{{end}} {{.ASCII}}
 {{end -}}
 
+
{{end}} {{end}} diff --git a/internal/web/templates/index.html b/internal/web/templates/index.html index a413945..53d7758 100644 --- a/internal/web/templates/index.html +++ b/internal/web/templates/index.html @@ -1,14 +1,14 @@ -{{define "title"}}Home{{end}} +{{define "title"}}Tools{{end}} + +{{define "toolbar-info"}}Small utilities for working with pcap packet captures{{end}} {{define "content"}} -

pcap tools

-

Small utilities for working with pcap packet captures.

- + {{end}} diff --git a/internal/web/templates/layout.html b/internal/web/templates/layout.html index 71b75a1..96061b7 100644 --- a/internal/web/templates/layout.html +++ b/internal/web/templates/layout.html @@ -3,17 +3,36 @@ + {{template "title" .}} · pcap tools + + -
- + +
+ + pcap tools + + +
-
+ +
+
+ + {{block "toolbar-info" .}}{{end}} +
{{template "content" .}}
diff --git a/internal/web/templates/reorder.html b/internal/web/templates/reorder.html new file mode 100644 index 0000000..2e7a6ab --- /dev/null +++ b/internal/web/templates/reorder.html @@ -0,0 +1,29 @@ +{{define "title"}}Reorder pcap{{end}} + +{{define "toolbar-info"}}Sort packets by timestamp, like reordercap{{end}} + +{{define "content"}} +{{with .Data}} +{{if .Error}}{{end}} + +
+
+

Reorder

+
+

+ Packets with the same timestamp keep their original order. Packet data and the file header are not changed. +

+ + + + +

If the capture ends with a truncated packet, that packet is dropped.

+ +
+ +
+
+
+
+{{end}} +{{end}} diff --git a/internal/web/templates/split.html b/internal/web/templates/split.html index 54d77a6..b6ef0c4 100644 --- a/internal/web/templates/split.html +++ b/internal/web/templates/split.html @@ -1,47 +1,51 @@ {{define "title"}}Split pcap{{end}} +{{define "toolbar-info"}}Split a pcap file by packet count or file size{{end}} + {{define "content"}} {{with .Data}} -

Split pcap

-

- Upload a pcap file and split it into several files by packet count or by file size. - The parts are downloaded together as a zip. - Packets are copied unchanged, and each part keeps the original file header. -

- {{if .Error}}{{end}}
- - +
+

Split

+
+

+ The parts are downloaded together as a zip. Packets are copied unchanged, and each part keeps the original file header. +

-
- Split by - - -
+ + -

- At most {{.MaxParts}} output files. If the capture ends with a truncated packet, that packet is dropped. -

+
+ Split by + + +
-
- +

+ 1 MB = 1,000,000 bytes. A packet bigger than the size limit gets a file to itself. + At most {{.MaxParts}} output files. If the capture ends with a truncated packet, that packet is dropped. +

+ +
+ +
+
{{end}} {{end}} diff --git a/internal/web/upload.go b/internal/web/upload.go new file mode 100644 index 0000000..a7099b0 --- /dev/null +++ b/internal/web/upload.go @@ -0,0 +1,42 @@ +package web + +import ( + "errors" + "fmt" + "mime/multipart" + "net/http" + "path" + "strings" +) + +// parseUpload parses a multipart form with a file in the "file" field. On +// failure it returns an HTTP status and a message for the page. +// +// Files bigger than 1 MB are spooled to temporary files rather than kept in +// memory; net/http removes them when the handler returns. +func (s *Server) parseUpload(w http.ResponseWriter, r *http.Request) (multipart.File, *multipart.FileHeader, int, string) { + // Allow some slack over the file size limit for the multipart framing and form fields. + r.Body = http.MaxBytesReader(w, r.Body, s.cfg.MaxUploadBytes+64<<10) + if err := r.ParseMultipartForm(1 << 20); err != nil { + var tooBig *http.MaxBytesError + if errors.As(err, &tooBig) { + return nil, nil, http.StatusRequestEntityTooLarge, "file too large; the maximum upload is " + s.maxUpload() + } + return nil, nil, http.StatusBadRequest, "bad upload: " + err.Error() + } + file, hdr, err := r.FormFile("file") + if err != nil { + return nil, nil, http.StatusBadRequest, "choose a pcap file" + } + return file, hdr, 0, "" +} + +func (s *Server) maxUpload() string { + return fmt.Sprintf("%d MB", s.cfg.MaxUploadBytes/1e6) +} + +// uploadStem returns the sanitized name of an uploaded file without its extension. +func uploadStem(hdr *multipart.FileHeader) string { + name := safeName(hdr.Filename, "capture.pcap") + return strings.TrimSuffix(name, path.Ext(name)) +}