A:基础实现 及调整

This commit is contained in:
jimmy committed 2025-06-07 11:21:41 +08:00
1 parent a6922cea36
commit 04e912a830
6 files changed
+54 -94

No files matched your search

+1 -1
View File
@@ -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 格式
+11 -10
View File
@@ -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>());
}
}
+3 -2
View File
@@ -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;
}
}