<Window x:Class="ip.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ip"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Label Content="扫描的ip地址范围" HorizontalAlignment="Left" Margin="45,32,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.218,-0.594"/>
<Label Content="地址前缀:" x:Name="ip" HorizontalAlignment="Left" Margin="62,92,0,0" VerticalAlignment="Top"/>
<Label Content="起始值:" x:Name="begin" HorizontalAlignment="Left" Margin="320,92,0,0" VerticalAlignment="Top"/>
<Label Content="终止值:" x:Name="end" HorizontalAlignment="Left" Margin="510,92,0,0" VerticalAlignment="Top" RenderTransformOrigin="1.025,-0.219"/>
<Button Content="开始扫描" Click="Button_Click" HorizontalAlignment="Left" Margin="669,93,0,0" VerticalAlignment="Top" Width="71" Height="29"/>
<TextBox HorizontalAlignment="Left" x:Name="text1" Height="23" Margin="151,96,0,0" TextWrapping="Wrap" Text="192.168.1." VerticalAlignment="Top" Width="120"/>
<TextBox HorizontalAlignment="Left" x:Name="text2" Height="23" Margin="378,96,0,0" TextWrapping="Wrap" Text="100" VerticalAlignment="Top" Width="79"/>
<TextBox HorizontalAlignment="Left" x:Name="text3" Height="23" Margin="573,96,0,0" TextWrapping="Wrap" Text="109" VerticalAlignment="Top" Width="72"/>
<Label x:Name="error" Content="IP地址有错,请更正!" HorizontalAlignment="Left" Margin="45,161,0,0" VerticalAlignment="Top" Width="681" Background="#FFD43939" Foreground="#FFF3ECEC" Visibility="Hidden" HorizontalContentAlignment="Center"/>
<DockPanel Margin="10 210 10 10">
<ScrollViewer>
<StackPanel Background="White" >
<TextBlock x:Name="ips" Margin="0 10 0 0" TextWrapping="Wrap"/>
</StackPanel>
</ScrollViewer>
</DockPanel>
</Grid>
</Window>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Net.Sockets;
namespace ip
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
/*IPHostEntry host = Dns.GetHostEntry("");
StringBuilder sb = new StringBuilder();*/
string myips = "";
IPHostEntry host; //= Dns.GetHostEntry(myips);
string hostname; //= host.HostName;
StringBuilder sb = new StringBuilder();
for (int i=int.Parse(text2.Text); i <= int.Parse(text3.Text);i++)
{
if(int.Parse(text2.Text)> int.Parse(text3.Text)){
tips();
break;
}
else{
DateTime timeBegin = DateTime.Now;//记录开始时间
myips = text1.Text + i;
try
{
host = Dns.GetHostEntry(myips);
hostname = host.HostName;
}
catch {
hostname = "(不在线)";
}
if (hostname == "bogon")
{
hostname = "(不在线)";
}
DateTime timeEnd = DateTime.Now;//记录结束时间
TimeSpan timeSpan = timeEnd - timeBegin;//时间间隔
sb.AppendLine("扫描地址:"+myips+",扫描用时:"+timeSpan.TotalMilliseconds+ "毫秒"+ ",主机DNS名称:" +hostname);
}
ips.Text = sb.ToString();
}
}
public void tips()//显示输入错误的信息
{
error.Visibility = Visibility.Visible;
}
/* IPAddress[] ipAddresses = host.AddressList;
foreach (IPAddress ip in ipAddresses) {
sb.AppendLine(ip.ToString());
}*/
}
}
看个乐呵就行》