Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
f5c3302
Fix: IP Scanner / Port Scanner single completion path (B2, B3, B4, B16)
BornToBeRoot Oct 23, 2026
da867d8
Fix: IP Scanner / Port Scanner robust scan preparation (B5, B8, B11)
BornToBeRoot Oct 23, 2026
f2be682
Fix: Limit ICMP buffer to 65500 bytes (B4)
BornToBeRoot Oct 23, 2026
01f0174
Fix: IP Scanner ICMP attempts ignored (B1)
BornToBeRoot Oct 23, 2026
39374e1
Fix: Port probe classification and TIME_WAIT (B17, B18)
BornToBeRoot Oct 23, 2026
0864e44
Feature: IP Scanner detects hosts by a refused port (B17, D7)
BornToBeRoot Oct 23, 2026
08220a2
Chore: New IP Scanner / Port Scanner defaults (P4, PS4, D1, D5)
BornToBeRoot Oct 23, 2026
ba28a5a
Fix: De-duplicate and expand host ranges faster (B7, B20, P7, P8)
BornToBeRoot Oct 23, 2026
390ffd8
Fix: Confirm large scans and refuse too large ones (B6)
BornToBeRoot Oct 23, 2026
e1d14ca
Fix: Scan ports only once (B19)
BornToBeRoot Oct 23, 2026
3190984
Fix: Validate IP ranges across 128.0.0.0 (B14)
BornToBeRoot Oct 23, 2026
b037745
Fix: Port Scanner sort by IP address crash, sorted results (PS1-PS3)
BornToBeRoot Oct 23, 2026
95b33e1
Fix: IP Scanner NetBIOS column sort/visibility and Copy menu (B9, B10…
BornToBeRoot Oct 23, 2026
18d7307
Fix: IP Scanner custom commands - hostname injection, CanExecute (S1,…
BornToBeRoot Oct 23, 2026
cd7a0f4
Improvement: IP Scanner MAC lookup from a cached neighbor table (P1, …
BornToBeRoot Oct 23, 2026
10f7c3a
Improvement: IP Scanner / Port Scanner export in the background (P5)
BornToBeRoot Oct 23, 2026
e7471cb
Docs: IP Scanner / Port Scanner context menu, result and shortcuts (D-1)
BornToBeRoot Oct 23, 2026
cf5904d
Fix: Handle errors while counting the hosts / ports (B5, B6)
BornToBeRoot Oct 23, 2026
296871d
Improvement: Stagger the start of hosts / ports in the IP / Port Scanner
BornToBeRoot Oct 23, 2026
af6885e
Refactor: Exception-free port probe and NetBIOS request
BornToBeRoot Oct 23, 2026
61e454d
Fix: Don't start a confirmed large scan in a closed tab (B6)
BornToBeRoot Oct 23, 2026
a267cc1
Refactor: IPv4Address.ToUInt32 for unsigned IPv4 values (review #8)
BornToBeRoot Oct 23, 2026
f1c1f34
Fix: IP Scanner MAC lookup only for hosts in a local subnet (review #5)
BornToBeRoot Oct 23, 2026
a19670b
Fix: Start interval must not limit fast scans (review #2)
BornToBeRoot Oct 23, 2026
9fe9d5e
Fix: Keep different hostnames of an IP and the IPv6 scope id when de-…
BornToBeRoot Oct 23, 2026
08c5478
Fix: Export the results in the order shown in the grid (review #10)
BornToBeRoot Oct 23, 2026
7e9c5b6
Docs: Note on port timeouts below 1000 ms (review #4)
BornToBeRoot Oct 23, 2026
d876255
Fix: Report closed ports immediately on Windows (review #4)
BornToBeRoot Oct 23, 2026
3377f5f
Fix: Only stagger the ramp-up of a scan (review #1, #2, #5)
BornToBeRoot Oct 23, 2026
e10ab0e
Fix: NetBIOS response without MAC address (review #6)
BornToBeRoot Oct 23, 2026
2ae69aa
Fix: Only accept the NetBIOS answer of the scanned host (review #7)
BornToBeRoot Oct 23, 2026
785f689
Fix: Log when the SYN retransmissions can't be disabled (review #8)
BornToBeRoot Oct 23, 2026
90a4802
Feature: Attempts setting for the port scan (IP Scanner, Port Scanner…
BornToBeRoot Oct 23, 2026
f073bbe
Chore: Add PR
BornToBeRoot Oct 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions Source/NETworkManager.Converters/HostReachableToStringConverter.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
using System;
using System.Globalization;
using System.Windows.Data;
using NETworkManager.Localization.Resources;

namespace NETworkManager.Converters;

/// <summary>
/// Convert a <see cref="bool" /> that indicates if a host is reachable to a translated <see cref="string" />
/// ("Up" / "Down").
/// </summary>
public sealed class HostReachableToStringConverter : IValueConverter
{
/// <summary>
/// Convert a <see cref="bool" /> that indicates if a host is reachable to a translated <see cref="string" />.
/// </summary>
/// <param name="value">Host reachable as <see cref="bool" />.</param>
/// <param name="targetType"></param>
/// <param name="parameter"></param>
/// <param name="culture"></param>
/// <returns>Translated "Up" or "Down".</returns>
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value is true ? Strings.Up : Strings.Down;
}

/// <summary>
/// !!! Method not implemented !!!
/// </summary>
/// <param name="value"></param>
/// <param name="targetType"></param>
/// <param name="parameter"></param>
/// <param name="culture"></param>
/// <returns></returns>
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
40 changes: 40 additions & 0 deletions Source/NETworkManager.Localization/Resources/Strings.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions Source/NETworkManager.Localization/Resources/Strings.resx
Original file line number Diff line number Diff line change
Expand Up @@ -5004,4 +5004,20 @@ Cloudflare may log your IP address and network information. See Cloudflare's pri
<data name="PortProfile" xml:space="preserve">
<value>Port profile</value>
</data>
<data name="ScanManyIPAddressesMessage" xml:space="preserve">
<value>{0} IP addresses will be scanned. This can take a long time and needs a lot of memory.

Do you want to start the scan?</value>
</data>
<data name="ScanTooManyIPAddressesMessage" xml:space="preserve">
<value>{0} IP addresses cannot be scanned at once (maximum {1}). Split the input into smaller ranges.</value>
</data>
<data name="ScanManyPortsMessage" xml:space="preserve">
<value>{0} ports will be scanned ({1} hosts × {2} ports). This can take a long time and needs a lot of memory.

Do you want to start the scan?</value>
</data>
<data name="ScanTooManyPortsMessage" xml:space="preserve">
<value>{0} ports cannot be scanned at once ({1} hosts × {2} ports, maximum {3}). Split the input into fewer hosts or ports.</value>
</data>
</root>
Loading
Loading