I hereby claim:
- I am jeanqasaur on github.
- I am jeanqasaur (https://keybase.io/jeanqasaur) on keybase.
- I have a public key whose fingerprint is FDD9 E9A0 695F CAA4 3F78 C99B 80ED 8A7A 6F7B 2CC2
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
Hello world |
class HarClient(FlaskClient): | |
def __init__(self, *args | |
, har_file_path=f'akita_trace_{time.time()}.har' | |
, **kwargs): | |
self.har_writer = HarWriter(har_file_path, 'w') | |
self.url_prefix = "" | |
super().__init__(*args, **kwargs) |
def open(self, *args, **kwargs): | |
start = datetime.now(timezone.utc) | |
resp: Response = super().open(*args, **kwargs) | |
self.har_writer.write_entry( | |
self._create_har_entry(start, args, kwargs, resp)) | |
return resp |
func newTCPStream(clock clockWrapper, netFlow gopacket.Flow, | |
outChan chan<- akinet.ParsedNetworkTraffic, | |
fs akinet.TCPParserFactorySelector) *tcpStream { | |
return &tcpStream{ | |
clock: clock, | |
bidiID: akinet.TCPBidiID(uuid.New()), | |
netFlow: netFlow, | |
factorySelector: fs, | |
outChan: outChan, | |
} |
func (fact *tcpStreamFactory) New(netFlow, tcpFlow gopacket.Flow, _ *layers.TCP, _ reassembly.AssemblerContext) reassembly.Stream { | |
return newTCPStream(fact.clock, netFlow, fact.outChan, fact.fs) | |
} |
tcpdump -i lo -w lo.pcap |
package main | |
import ( | |
"github.com/google/gopacket" | |
_ "github.com/google/gopacket/layers" | |
"github.com/google/gopacket/pcap" | |
) | |
const ( |
// tcpStream represents a pair of uni-directional tcpFlows. It | |
// implements reassembly.Stream interface to receive reassembled | |
// packets for BOTH flows, which it then directs to the correct | |
// tcpFlow. | |
type tcpStream struct { | |
clock clockWrapper // constant | |
bidiID akinet.TCPBidiID // constant | |
// Network layer flow. | |
netFlow gopacket.Flow |
func (p *NetworkTrafficParser) ParseFromInterface( | |
interfaceName, bpfFilter string, signalClose <-chan struct{}, | |
fs ...akinet.TCPParserFactory) | |
(<-chan akinet.ParsedNetworkTraffic, error) { | |
// Read in packets, pass to assembler | |
packets, err := p.pcap.capturePackets(signalClose, | |
interfaceName, | |
bpfFilter) | |
if err != nil { | |
return nil, errors.Wrapf( |