过滤非loopback ip #127
This commit is contained in:
parent
519c4d8e80
commit
ba56d2370f
@ -71,6 +71,7 @@ namespace FastGithub.PacketIntercept.Tcp
|
|||||||
|
|
||||||
while (cancellationToken.IsCancellationRequested == false)
|
while (cancellationToken.IsCancellationRequested == false)
|
||||||
{
|
{
|
||||||
|
winDivertAddress.Reset();
|
||||||
if (WinDivert.WinDivertRecv(handle, winDivertBuffer, ref winDivertAddress, ref packetLength) == false)
|
if (WinDivert.WinDivertRecv(handle, winDivertBuffer, ref winDivertAddress, ref packetLength) == false)
|
||||||
{
|
{
|
||||||
throw new Win32Exception();
|
throw new Win32Exception();
|
||||||
@ -100,6 +101,15 @@ namespace FastGithub.PacketIntercept.Tcp
|
|||||||
unsafe private void ModifyTcpPacket(WinDivertBuffer winDivertBuffer, ref WinDivertAddress winDivertAddress, ref uint packetLength)
|
unsafe private void ModifyTcpPacket(WinDivertBuffer winDivertBuffer, ref WinDivertAddress winDivertAddress, ref uint packetLength)
|
||||||
{
|
{
|
||||||
var packet = WinDivert.WinDivertHelperParsePacket(winDivertBuffer, packetLength);
|
var packet = WinDivert.WinDivertHelperParsePacket(winDivertBuffer, packetLength);
|
||||||
|
if (packet.IPv4Header != null && packet.IPv4Header->SrcAddr.Equals(IPAddress.Loopback) == false)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (packet.IPv6Header != null && packet.IPv6Header->SrcAddr.Equals(IPAddress.IPv6Loopback) == false)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (packet.TcpHeader->DstPort == oldServerPort)
|
if (packet.TcpHeader->DstPort == oldServerPort)
|
||||||
{
|
{
|
||||||
packet.TcpHeader->DstPort = this.newServerPort;
|
packet.TcpHeader->DstPort = this.newServerPort;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 16
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 16.0.31320.298
|
VisualStudioVersion = 17.1.32203.90
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FastGithub", "FastGithub\FastGithub.csproj", "{C1099390-6103-4917-A740-A3002B542FE0}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FastGithub", "FastGithub\FastGithub.csproj", "{C1099390-6103-4917-A740-A3002B542FE0}"
|
||||||
EndProject
|
EndProject
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user