linux多线程端口扫描器原理与实现

linux多线程端口扫描器原理与实现

进程与线程
   进程的概念是操作系统结构的基础。Multics的设计者在20世纪60年代首次使用了这个术语。从本质上来说,

一个进程就是一个正在执行的程序。进程是由程序代码和相关数据还有进程控制块组成。从概念上说,进程包

含了一下两个方面的内容:资源所有权和调度/执行。对于基本进程概念的两点进行区分。就形成了线程的概念。

线程是进程中的一个实体,是被系统独立调度和分派的基本单位,进程中的所有线程共享该进程的状态和资源,

它们驻留在同一块地址空间中,并且可以访问到相同的数据。

Linux下多线程库
   Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,
 需要使用头文件pthread.h,连接时需要使用库libpthread.a。
 端口扫描器的原理
    扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种
方法,可以搜集到很多关于目标主机的各种有用的信息。最基本的扫描技术是TCPconnect()
扫描技术。操作系统提供的connect()系统调用,用来与每一个感兴趣
的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功返回
。否则,这个端口是不能用的,即没有提供服务。

 

端口扫描基本原理图

 

实现:

 

实现效果图:

 

 

该程序实现了多线程的端口扫描,刚刚开始,路还在继续!

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值