Skip to content

Commit f4e2b12

Browse files
authored
v0.14.1 (#301)
* Fix output-file * Fix tunnel interface
1 parent d193e24 commit f4e2b12

File tree

3 files changed

+16
-7
lines changed

3 files changed

+16
-7
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ profile_test:
6262

6363
# Used mainly for debugging, because docker container do not have access to parent machine ports
6464
run:
65-
$(RUN) go run $(LDFLAGS) $(SOURCE) --input-dummy=0 --output-http="http://localhost:9000" --input-raw-track-response --input-raw 127.0.0.1:9000 --input-http 127.0.0.1:9000 --verbose --debug --middleware "./examples/middleware/echo.sh"
65+
$(RUN) go run $(LDFLAGS) $(SOURCE) --input-dummy=0 --output-http="http://localhost:9000" --input-raw-track-response --input-raw 127.0.0.1:9000 --input-http 127.0.0.1:9000 --verbose --debug --middleware "./examples/middleware/echo.sh" --output-file requests.gor
6666

6767
run-2:
6868
sudo -E go run $(SOURCE) --input-dummy="" --output-tcp localhost:27001 --verbose --debug

plugins.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ func InitPlugins() {
117117
}
118118

119119
for _, options := range Settings.outputFile {
120-
registerPlugin(NewFileOutput, options, Settings.outputFileConfig)
120+
registerPlugin(NewFileOutput, options, &Settings.outputFileConfig)
121121
}
122122

123123
for _, options := range Settings.inputHTTP {

raw_socket_listener/listener.go

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -325,8 +325,16 @@ func (t *Listener) readPcap() {
325325
}
326326
t.mu.Unlock()
327327

328-
linkType := handle.LinkType()
329-
source := gopacket.NewPacketSource(handle, linkType)
328+
var decoder gopacket.Decoder
329+
330+
// Special case for tunnel interface https://github.com/google/gopacket/issues/99
331+
if handle.LinkType() == 12 {
332+
decoder = layers.LayerTypeIPv4
333+
} else {
334+
decoder = handle.LinkType()
335+
}
336+
337+
source := gopacket.NewPacketSource(handle, decoder)
330338
source.Lazy = true
331339
source.NoCopy = true
332340

@@ -343,13 +351,14 @@ func (t *Listener) readPcap() {
343351
continue
344352
}
345353

346-
if linkType == layers.LinkTypeEthernet {
354+
if decoder == layers.LinkTypeEthernet {
347355
// Skip ethernet layer, 14 bytes
348356
data = packet.Data()[14:]
349-
} else if linkType == layers.LinkTypeNull || linkType == layers.LinkTypeLoop {
357+
} else if decoder == layers.LinkTypeNull || decoder == layers.LinkTypeLoop {
350358
data = packet.Data()[4:]
351359
} else {
352-
log.Fatal("Unknown packet layer", packet)
360+
log.Println("Unknown packet layer", packet)
361+
break
353362
}
354363

355364
version := uint8(data[0]) >> 4

0 commit comments

Comments
 (0)