🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快
学会主机及端口等一些基本的网络扫描程序设计技术。
目标主机扫描是网络功防的基础和前提,扫描探测一台目标主机包括:确定该目标主机是否活动、目标主机的操作系统、正在使用哪些端口、对外提供了哪些服务、相关服务的软件版本等等,对这些内容的探测就是为了“对症下药”,为攻防提供参考信息。
对主机的探测工具非常多,比如大名鼎鼎的nmap、netcat、superscan,以及国内的x-scanner等等。
今天我们自己动手做扫描软件或工具。
知识点:进一步理解 new Socket()、Process类和ICMP
1. 程序设计第一步:主机扫描(远程主机探测技术)
去发现一台在线或活跃的主机,及使用的操作系统(通过开放的端口,Win系列开放135端口,UNIX系列开放111端口);
新建Java包,命名scanner,创建主机扫描程序HostScanner.java,窗口界面如图9.1所示,并在“主机扫描”按钮中设置主机探测关键代码,如:
InetAddress addr=InetAddress.getByName(host);//host为IP地址
status=addr.isReachable(timeOut);// timeOut等待时间
- 1.
- 2.
若status的值为真,则表示该主机是活跃的,否则可能不存在或离线。
private int getLastNum(String ip)
{
String[] group;
ip = ip.replace('.', '/');
group = ip.split("/");
int num = Integer.parseInt(group[3]);
return num;
}
//实现IP地址加1
private String StringIPAddOne(String ip)
{
String[] group;
ip = ip.replace('.', '/');
group = ip.split("/");
int num =