Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds WinDivert support to Windows builds #3402

Merged
merged 1 commit into from Jun 22, 2018

Conversation

smithjacobj
Copy link
Contributor

Make sure these boxes are signed before submitting your Pull Request -- thank you.

Link to redmine ticket: https://redmine.openinfosecfoundation.org/issues/2455

Describe changes:

Enables IPS functionality on Windows using the open-source
(LGPLv3/GPLv2) WinDivert driver and API. Special thanks to @basil00
for dual-licensing WinDivert for this project.

From https://www.reqrypt.org/windivert-doc.html : "WinDivert is a
user-mode capture/sniffing/modification/blocking/re-injection package
for Windows Vista, Windows Server 2008, Windows 7, and Windows 8.
WinDivert can be used to implement user-mode packet filters, packet
sniffers, firewalls, NAT, VPNs, tunneling applications, etc., without
the need to write kernel-mode code."

Limitation: currently limited to autofp runmode.

Additionally:

  • tmm_modules now zeroed during RegisterAllModules
  • fixed Windows Vista+ inet_ntop call in PrintInet
  • fixed GetRandom bug (nonexistent keys) on fresh Windows installs
  • fixed RandomGetClock building on Windows builds
  • Added WMI queries for MTU

This is a replacement for #3374

Enables IPS functionality on Windows using the open-source
(LGPLv3/GPLv2) WinDivert driver and API.

From https://www.reqrypt.org/windivert-doc.html : "WinDivert is a
user-mode capture/sniffing/modification/blocking/re-injection package
for Windows Vista, Windows Server 2008, Windows 7, and Windows 8.
WinDivert can be used to implement user-mode packet filters, packet
sniffers, firewalls, NAT, VPNs, tunneling applications, etc., without
the need to write kernel-mode code."

- adds `--windivert [filter string]` and `--windivert-forward [filter
    string]` command-line options to enable WinDivert IPS mode.
    `--windivert[-forward] true` will open a filter for all traffic. See
    https://www.reqrypt.org/windivert-doc.html#filter_language for more
    information.

Limitation: currently limited to `autofp` runmode.

Additionally:
- `tmm_modules` now zeroed during `RegisterAllModules`
- fixed Windows Vista+ `inet_ntop` call in `PrintInet`
- fixed `GetRandom` bug (nonexistent keys) on fresh Windows installs
- fixed `RandomGetClock` building on Windows builds
- Added WMI queries for MTU
@smithjacobj smithjacobj requested review from norg and a team as code owners June 20, 2018 20:53
@inliniac inliniac merged commit ec77632 into OISF:master Jun 22, 2018
@victorjulien
Copy link
Member

Merged, thanks a lot for your patience in getting this in!

@victorjulien victorjulien mentioned this pull request Dec 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants