A:基础实现 及调整
This commit is contained in:
1 parent
a6922cea36
commit
04e912a830
6 files changed
+54
-94
No files matched your search
@@ -21,7 +21,7 @@ public static class IconHelper
|
||||
IntPtr hIcon = ExtractIcon(IntPtr.Zero, exePath, 0);
|
||||
if (hIcon == IntPtr.Zero) return "";
|
||||
|
||||
using Icon icon = Icon.FromHandle(hIcon);
|
||||
using System.Drawing.Icon icon = Icon.FromHandle(hIcon);
|
||||
using Bitmap bmp = icon.ToBitmap();
|
||||
using MemoryStream ms = new MemoryStream();
|
||||
// 保存为 PNG 格式
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Net;
|
||||
using System.Runtime.InteropServices;
|
||||
using Common.Logger;
|
||||
|
||||
namespace Infrastructure.utils;
|
||||
|
||||
@@ -38,7 +39,7 @@ public static class NetUtils
|
||||
{
|
||||
if (TraceEventSession.IsElevated() == false)
|
||||
{
|
||||
Console.WriteLine("请以管理员身份运行此程序。");
|
||||
Log.Information("请以管理员身份运行此程序。");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -48,35 +49,35 @@ public static class NetUtils
|
||||
session.EnableKernelProvider(
|
||||
KernelTraceEventParser.Keywords.NetworkTCPIP);
|
||||
|
||||
Console.WriteLine("监听网络事件中(按 Ctrl+C 停止)...");
|
||||
Log.Information("监听网络事件中(按 Ctrl+C 停止)...");
|
||||
session.Source.Kernel.TcpIpConnect += data =>
|
||||
{
|
||||
Console.WriteLine(
|
||||
Log.Information(
|
||||
$"[TCP Connect] PID={data.ProcessID} {data.saddr}:{data.sport} -> {data.daddr}:{data.dport}");
|
||||
};
|
||||
session.Source.Kernel.TcpIpDisconnect += data =>
|
||||
{
|
||||
Console.WriteLine(
|
||||
Log.Information(
|
||||
$"[TCP Disconnect] PID={data.ProcessID} {data.saddr}:{data.sport} -> {data.daddr}:{data.dport}");
|
||||
};
|
||||
session.Source.Kernel.TcpIpSend += data =>
|
||||
{
|
||||
Console.WriteLine(
|
||||
Log.Information(
|
||||
$"[TCP Send] PID={data.ProcessID} {data.saddr}:{data.sport} -> {data.daddr}:{data.dport}, Size={data.size} bytes");
|
||||
};
|
||||
session.Source.Kernel.TcpIpRecv += data =>
|
||||
{
|
||||
Console.WriteLine(
|
||||
Log.Information(
|
||||
$"[TCP Recv] PID={data.ProcessID} {data.saddr}:{data.sport} <- {data.daddr}:{data.dport}, Size={data.size} bytes");
|
||||
};
|
||||
session.Source.Kernel.UdpIpSend += data =>
|
||||
{
|
||||
Console.WriteLine(
|
||||
Log.Information(
|
||||
$"[UDP Send] PID={data.ProcessID} {data.saddr}:{data.sport} -> {data.daddr}:{data.dport}, Size={data.size} bytes");
|
||||
};
|
||||
session.Source.Kernel.UdpIpRecv += data =>
|
||||
{
|
||||
Console.WriteLine(
|
||||
Log.Information(
|
||||
$"[UDP Recv] PID={data.ProcessID} {data.saddr}:{data.sport} <- {data.daddr}:{data.dport}, Size={data.size} bytes");
|
||||
};
|
||||
session.Source.Process(); // 开始监听
|
||||
@@ -108,7 +109,7 @@ public static class NetUtils
|
||||
int localPort = ntohs((ushort)row.localPort);
|
||||
int remotePort = ntohs((ushort)row.remotePort);
|
||||
|
||||
Console.WriteLine(
|
||||
Log.Information(
|
||||
$"PID: {row.owningPid}, {localIp}:{localPort} -> {remoteIp}:{remotePort}, State: {row.state}");
|
||||
rowPtr = IntPtr.Add(rowPtr, Marshal.SizeOf<MIB_TCPROW_OWNER_PID>());
|
||||
}
|
||||
@@ -192,7 +193,7 @@ public static class NetUtils
|
||||
IPAddress localIp = new IPAddress(row.localAddr);
|
||||
int localPort = ntohs1((ushort)row.localPort);
|
||||
|
||||
Console.WriteLine($"PID: {row.owningPid}, UDP {localIp}:{localPort}");
|
||||
Log.Information($"PID: {row.owningPid}, UDP {localIp}:{localPort}");
|
||||
rowPtr = IntPtr.Add(rowPtr, Marshal.SizeOf<MIB_UDPROW_OWNER_PID>());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Common;
|
||||
using Common.ExpandException;
|
||||
using Common.Logger;
|
||||
|
||||
namespace Infrastructure.utils;
|
||||
|
||||
@@ -69,7 +70,7 @@ public static class SysInfoUtils
|
||||
|
||||
#region 检查缓存
|
||||
|
||||
var pck = new ProcessCache.ProcessCacheKey(pid, proc.StartTime);
|
||||
var pck = ProcessCache.GetProcessKey(pid);
|
||||
var programInfo = ProcessCache.Instance.Get(pck);
|
||||
if (programInfo != null)
|
||||
{
|
||||
@@ -119,7 +120,7 @@ public static class SysInfoUtils
|
||||
// 只捕获能遇见的异常
|
||||
catch (ArgumentException ex)
|
||||
{
|
||||
Console.WriteLine($"获取进程信息失败:{ex.Message}");
|
||||
Log.Information($"获取进程信息失败:{ex.Message}");
|
||||
throw ExceptionEnum.ProcessGetException;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user