Documentation ¶
Overview ¶
Package windowskext provides network interception capabilities on windows via the Portmaster Kernel Extension.
Index ¶
- func ClearCache() error
- func GetKextHandle() windows.Handle
- func GetKextServiceHandle() windows.Handle
- func Handler(ctx context.Context, packets chan packet.Packet, ...)
- func Init(path string) error
- func RecvVerdictRequest() (*kextinterface.Info, error)
- func SendBandwidthStatsRequest() error
- func SendCleanEndedConnection() error
- func SendLogRequest() error
- func SendPrintMemoryStatsCommand() error
- func SetVerdict(pkt *Packet, verdict kextinterface.KextVerdict) error
- func Start() error
- func Stop() error
- func UpdateVerdict(conn *network.Connection) error
- type Packet
- func (pkt *Packet) Accept() error
- func (pkt *Packet) Block() error
- func (pkt *Packet) Drop() error
- func (pkt *Packet) ExpectInfo() bool
- func (pkt *Packet) FastTrackedByIntegration() bool
- func (pkt *Packet) InfoOnly() bool
- func (pkt *Packet) LoadPacketData() error
- func (pkt *Packet) PermanentAccept() error
- func (pkt *Packet) PermanentBlock() error
- func (pkt *Packet) PermanentDrop() error
- func (pkt *Packet) RerouteToNameserver() error
- func (pkt *Packet) RerouteToTunnel() error
- type VersionInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetKextHandle ¶
func GetKextServiceHandle ¶
func Handler ¶
func Handler(ctx context.Context, packets chan packet.Packet, bandwidthUpdate chan *packet.BandwidthUpdate)
Handler transforms received packets to the Packet interface.
func RecvVerdictRequest ¶
func RecvVerdictRequest() (*kextinterface.Info, error)
RecvVerdictRequest waits for the next verdict request from the kext. If a timeout is reached, both *VerdictRequest and error will be nil.
func SendBandwidthStatsRequest ¶
func SendBandwidthStatsRequest() error
func SendCleanEndedConnection ¶
func SendCleanEndedConnection() error
func SendPrintMemoryStatsCommand ¶
func SendPrintMemoryStatsCommand() error
func SetVerdict ¶
func SetVerdict(pkt *Packet, verdict kextinterface.KextVerdict) error
SetVerdict sets the verdict for a packet and/or connection.
func UpdateVerdict ¶
func UpdateVerdict(conn *network.Connection) error
Updates a specific connection verdict.
Types ¶
type Packet ¶
Packet represents an IP packet.
func (*Packet) ExpectInfo ¶
ExpectInfo returns whether the next packet is expected to be informational only.
func (*Packet) FastTrackedByIntegration ¶
FastTrackedByIntegration returns whether the packet has been fast-track accepted by the OS integration.
func (*Packet) InfoOnly ¶
InfoOnly returns whether the packet is informational only and does not represent an actual packet.
func (*Packet) LoadPacketData ¶
GetPayload returns the full raw packet.
func (*Packet) PermanentAccept ¶
PermanentAccept permanently accepts connection (and the current packet).
func (*Packet) PermanentBlock ¶
PermanentBlock permanently blocks connection (and the current packet).
func (*Packet) PermanentDrop ¶
PermanentDrop permanently drops connection (and the current packet).
func (*Packet) RerouteToNameserver ¶
RerouteToNameserver permanently reroutes the connection to the local nameserver (and the current packet).
func (*Packet) RerouteToTunnel ¶
RerouteToTunnel permanently reroutes the connection to the local tunnel entrypoint (and the current packet).
type VersionInfo ¶
func (*VersionInfo) String ¶
func (v *VersionInfo) String() string