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

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

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

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

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

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

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

 

端口扫描基本原理图

 

实现:

 

实现效果图:

 

 

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

 

 

 

Logo

更多推荐