大部分人眼中,在单机编程中,java不如C,C++那样灵活,尤其是底层操作,以及一些和操作系统联系比较强的任务。但java经过不断的发展,在单机编程的也加强不少,有些和C++比起来一点都不逊色。下面本人就先介绍一个简单的程序:端口扫面。
通过本机端口的检测,发现已经占用的端口。这对于查看本机是否中木马来说,非常重要。当然端口扫面也是网上寻找肉鸡的一个基本方法。java设计的基本代码如下:
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
public class test extends Thread{
private int[] p;
Socket ss = null;
public test(int[] p) {
this.p = p;
}
public static void main(String[] args) {
for(int i=0;i<5000;i=i+100){
new test(new int[]{
i+1,i+100
}).start();
}
}
@Override
public void run() {
System.err.println("启动线程");
for(int i=p[0]; i<p[1];i++){
try {
// System.out.println(i);
ss = new Socket("127.0.0.1",i);
System.err.println("扫描到端口: " + i);
} catch (IOException e) {
}
}
}
}
其实原理很简单,就是建立TCP连接,通过的那就说明该端口已经开放!由于时间和一些其他原因,本人只说明一些其基本的原理,大家可以在上面扩展!如,昨天我就用这个原理,找到同宿舍一个哥们电脑的端口,发点一些垃圾东西,把整个路由器给搞垮了,真郁闷!所以,大家要注意。
在一点说明的是:要注意TCP发送数据时的大小限制,我个大家摘抄了一点:
Ping of Death:根据TCP/IP的规范,一个包的长度最大为65536字节。尽管一个包的长度不能超过65536字节,但是一个包分成的多个片段的叠加却能做到。当一个主机收到了长度大于65536字节的包时,就是受到了Ping of Death攻击,该攻击会造成主机的宕机。
玩的时候注意以下就OK了。
通过端口扫面,我们能够掌握,本机和已知IP电脑开放的端口,如果能够根据这些端口做一些小的操作,那那些肉鸡不是尽掌握在我们的手中?哈哈,想想就兴奋……
分享到:
相关推荐
这个"untitled3"文件可能是该Java程序的源代码,虽然没有提供具体的代码内容,但我们可以通过一般性的端口扫描程序的工作原理来了解相关知识点。 1. **套接字(Socket)编程**:Java的`java.net.Socket`类和`java...
Java端口扫描器是一种利用Java编程语言实现的网络工具,用于...综上所述,Java端口扫描器的实现涉及了Java的网络编程、多线程、异常处理等多个核心概念,通过熟练掌握这些知识点,可以创建出高效且稳定的端口扫描工具。
通过理解以上知识点,你可以自行构建一个基本的Java端口扫描器,但务必遵守适用的法规和最佳实践。同时,对于描述中提到的“有些地方还需要完善”,可能涉及扫描速度控制、错误处理机制、结果输出格式等方面,这些都...
3. **Socket编程**:在C++或Java等语言中,直接使用socket API进行端口扫描。 4. **多线程/异步IO**:提升扫描速度,如Python的`concurrent.futures`库或Node.js的事件循环机制。 在提供的压缩包中,"网络安全_端口...
通过这些信息可以帮助管理员了解系统的安全状态,发现可能存在的安全漏洞,对于黑客来说,端口扫描则是攻击前收集信息的重要手段之一。 ### 二、Java端口扫描代码分析 #### 1. HTTPServer 类 在给定的部分代码中...
总结,这个基于Java的本地监听与远程端口扫描程序旨在提高用户对自身计算机安全状况的认知,同时也为远程主机的安全评估提供辅助。通过深入理解TCP/IP协议和Java的Socket编程,开发者能够构建出高效且实用的工具,为...
端口扫描是网络安全的基础技术之一,它通过发送特定的数据包到目标计算机的不同端口,然后根据返回的响应来判断哪些端口是开放的。开放的端口可能意味着服务正在运行,这可能为黑客提供攻击的入口。因此,端口扫描器...
端口扫描通是常黑客搜集目标主机信息的一种比较常用的方法。为了有效地对付网络入侵行为,所以对端口扫描进行研究是非常有益和必要的。攻击者在攻击一个目标时,首先要获取目标的一些基本信息,如:有哪些端口开放...
在本课程设计报告中,学生将进行一个名为“基于多线程的端口扫描程序”的项目,该程序旨在提升Java高级编程技能。课程设计的主要目标是利用Socket编程和多线程技术来实现对TCP和UDP端口的扫描,并展示扫描结果。 ...
本地监听与远程端口扫描程序就是在基于Internet的端口扫描的基础上,开发的一个基于java的本地监听和远程端口扫描的小程序。 该程序主要包括四个功能模块:显示当前系统信息;显示网络状态;显示当前进程;扫描...
在这个"JAVA本地监听与远程端口扫描(源代码+论文).zip"压缩包中,包含的资源可能是一个研究项目或课程作业,涉及到Java编程中的网络通信概念,特别是端口监听和远程端口扫描。 首先,我们要理解什么是端口监听。在...
总的来说,这个压缩包提供了一个综合的学习资源,涵盖了网络编程的基础知识,特别是Java环境下的本地监听和远程端口扫描技术,同时也涉及到毕业设计的完整流程,对学习者来说是一个宝贵的实践机会。通过这个项目,...
- **Java**:跨平台,可以使用Java NIO进行端口扫描。 - **Go**:并发性能强,适合构建快速扫描工具。 4. **源码分析**: - 本示例可能包含用特定语言编写的端口扫描程序,涉及网络套接字编程,如创建socket,...
你可以通过阅读和分析这些代码来加深对端口扫描器工作原理的理解,并可能从中学习到如何优化扫描速度,例如使用多线程并行扫描,或者利用异步IO(NIO)来提高效率。 总的来说,制作一个端口扫描器是学习网络编程和...
端口扫描的工作原理主要是通过向目标主机发送特定的网络请求,然后根据返回的响应来判断目标端口是否开放。通常有两种主要的扫描技术:TCP连接扫描和UDP探测扫描。TCP连接扫描会尝试建立完整的三次握手,如果目标...
2. **端口扫描**:常见的端口扫描类型,如SYN扫描、ACK扫描、FIN扫描等,以及如何实施这些扫描。 3. **服务识别**:通过响应特征识别运行在特定端口上的服务类型,如HTTP、FTP等。 4. **漏洞检测**:如何通过特定的...
2. **端口扫描**:端口扫描是网络安全的基本操作,用于确定目标主机上哪些服务正在运行。源码中可能包含对特定端口发送SYN(TCP)或ICMP请求,然后根据响应判断端口是否开放的逻辑。 3. **多线程/并发**:为了提高...
- **端口扫描技术**: - TCP连接扫描。 - SYN半连接扫描。 - ACK扫描。 - FIN扫描等。 #### 六、软件编程 - **编程语言选择**: - Python: 易学易用,适合初学者。 - C/C++: 接近底层硬件,性能优秀。 - Java...
ESCAN扫描器是一款专注于TCP端口扫描的工具,它通过开源代码的方式,允许用户深入理解其工作原理,并可以根据自身需求进行定制化开发。在网络安全领域,端口扫描是进行网络侦查和漏洞评估的重要手段,而ESCAN扫描器...
Nmap端口扫描器: 本地网络扫描器: 子域名扫描器: linux漏洞扫描: 基于端口扫描以及关联CVE: 漏洞路由扫描器: 迷你批量信息泄漏扫描脚本: Waf类型检测工具: 服务器端口弱口令扫描器: Fox-scan扫描器: 信息...