CSocket实现端口扫描
界面如下:
主要代码如下:
- //对于每一个线程,传过去的参数
- typedef struct ThreadParamStruct
- {
- CString strIP; //要扫描的IP地址
- UINT uPort; //要扫描的端口
- BOOL bNoOrder; //是否按照随机的顺序扫描
- CPortScan_TCPDlg *ptr; //指向父线程的对话框
- HTREEITEM TreeItem; //指向结果要显示的树型控件节点
- }THREADPARAM;
- UINT ThreadCSocketScan(LPVOID pParam)
- {
- THREADPARAM *threadparam = (THREADPARAM*)pParam;
- CString strIP = threadparam->strIP;
- UINT uPort = threadparam->uPort;
- CPortScan_TCPDlg *ptr = threadparam->ptr;
- HTREEITEM TreeItem = threadparam->TreeItem;
- BOOL bNoOrder = threadparam->bNoOrder;
- g_iTotalThreadCount++;
- if (bNoOrder)
- {
- Sleep(rand() % );
- }
- CSocket sock;
- CString strTemp;
- if (sock.Create())
- {
- if (sock.Connect(strIP, uPort))
- {
- if (uPort < )
- {
- struct servent *se;
- se = getservbyport(htons(uPort), _T("tcp"));
- if (se != NULL)
- {
- strTemp.Format(_T("%d %s"), uPort, se->s_name);
- }
- else
- {
- strTemp.Format(_T("%d"), uPort);
- }
- }
- else
- {
- strTemp.Format(_T("%d %s"), uPort, ptr->GetPortName(uPort, TRUE));
- }
- ptr->m_wndTreeResult.InsertItem(strTemp, , , TreeItem);
- sock.ShutDown();
- }
- sock.Close();
- }
- g_iTotalThreadCount--;
- return ;
- }
- CString CPortScan_TCPDlg::GetPortName(UINT uPort, BOOL bIsTCP)
- {
- CString strRet;
- if (bIsTCP)
- {
- switch (uPort)
- {
- case :
- case :
- case :strRet = _T("常用动态分配的TCP端口"); break;
- case :strRet = _T("WinGate,IRC等防火墙管道"); break;
- case :strRet = _T("Sub-7木马"); break;
- case :strRet = _T("MSSQL数据库服务端口"); break;
- case :strRet = _T("ingreslock后门"); break;
- case :strRet = _T("NFS程序常用端口"); break;
- case :strRet = _T("Squid HTTP代理服务器"); break;
- case :strRet = _T("MySQL数据库服务端口"); break;
- case :strRet = _T("pcAnywere常用端口"); break;
- case :strRet = _T("Back Orifice"); break;
- default:strRet = _T(""); break;
- }
- }
- else
- {
- switch (uPort)
- {
- case :
- case :
- case :strRet = _T("常用动态分配的UDP端口"); break;
- case :strRet = _T("Hack-a-tack远程访问木马"); break;
- default:strRet = _T(""); break;
- }
- }
- return strRet;
- }
下载地址见后续博文。
CSocket实现端口扫描的更多相关文章
- ★Kali信息收集★8.Nmap :端口扫描
★Kali信息收集~ 0.Httrack 网站复制机 http://www.cnblogs.com/dunitian/p/5061954.html ★Kali信息收集~ 1.Google Hackin ...
- Python3实现TCP端口扫描
在渗透测试的初步阶段通常我们都需要对攻击目标进行信息搜集,而端口扫描就是信息搜集中至关重要的一个步骤.通过端口扫描我们可以了解到目标主机都开放了哪些服务,甚至能根据服务猜测可能存在某些漏洞. TCP端 ...
- 端口扫描base
#coding:utf8 import os import socket import sys def IsOpen(ip,port): s = socket.socket(socket.AF_INE ...
- Android NDK学习之第一个实例---端口扫描
为什么要写一个端口扫描的程序,Java来写不是很方便吗?因为我也没有想到什么例子能够方便的来练习.于是想到以前找到的端口扫描的C代码,于是想用他们来练习.扫描服务端端口的方式有许多种,最简单的就是直接 ...
- 端口扫描之王——nmap入门精讲(一)
端口扫描在百度百科上的定义是: 端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利 ...
- 使用Metasploit进行端口扫描
Metasploit中不仅能够使用第三方扫描器Nmap等,在其辅助模块中也包含了几款内建的端口扫描器. 查看Metasploit框架提供的端口扫描工具: msf > search portsca ...
- 小白日记10:kali渗透测试之端口扫描-UDP、TCP、僵尸扫描、隐蔽扫描
端口扫描 二三四层发现的目的只是为了准确发现所有活着主机IP,确定攻击面,端口扫描即发现攻击点,发现开放端口.端口对应网络服务及应用端程序,服务端程序的漏洞通过端口攻入.[所有的扫描结果,都不要完全相 ...
- 『安全工具』Nmap 强悍的端口扫描工具
作为时下流行的端口扫描工具,Nmap有因其扫描的隐密性有“端口扫描之王”之称 上图是黑客帝国(The Matrix)中崔妮蒂用Nmap入侵核发电站的能源管理系统 0x 01 Nmap介绍 Nmap是一 ...
- Hacker(16)----防范端口扫描与嗅探
端口扫描与嗅探都是黑客常用的招数,其目的是定位目标计算机和窃取隐私信息.为确保自己计算机的安全,用户需要掌握防范嗅探与端口扫描的常见措施,保障个人隐私信息安全. 一.掌握防范端口扫描的常用措施 防范端 ...
随机推荐
- 深入Lazy<T>——.NET Framework 4.0
.NET Framework 4 在一次次跳票中终于发布了,在一次偶然的机会,我看到了 Anytao 的 [你必须知道的.NET]第三十三回,深入.NET 4.0之,Lazy<T>点滴 . ...
- Java native代码编译步骤简书
Java native代码编译步骤简书 目的:防止java代码反编译获取密码算法 (1)编写实现类com.godlet.PasswordAuth.java (2)编译java代码javac Passw ...
- pycharm输出乱码如\xe9\x9d\x92\xe8\x9b\x99\xe7\x8e\x8b\xe5\xad\x90转成中文
转自:https://blog.csdn.net/baidu_19473529/article/details/54949453 利用Python解决unicode编码问题,有些json在控制台打印也 ...
- ActiveReports 报告应用程序教程 (2)---上市类报告
大多数数字在报告中系统类报告列表.实例:客户名单.产品列表.设备清单.采购清单.优惠券.商品发票.工作人员清点等..根据报告,查看类别列表相对简单.但,分丰富,在清单类报表中能够增加数据统计.数 ...
- python 简单的Socket编程
python 编写server的步骤: 1第一步是创建socket对象.调用socket构造函数.如: socket = socket.socket(family, type ) family参数代表 ...
- B 维背包+完全背包 Hdu2159
<span style="color:#3333ff;">/* ---------------------------------------------------- ...
- Frequentist 观点和 Bayesian 观点
1. Frequentist view Frequentist approach views the model parameters as unknown constants(未知的常数,而不是一个 ...
- 探索jquery方法中empty,remove与detach的区别
最近一直疑惑此三种方法的具体区别在于何处,随即想弄明白其具体的区别,看了一些说明,也依照官方文档,终于把这三个方法弄明白了,果然功夫不负有心人,继续努力. 上正文,先简单介绍下这三种方法 .empty ...
- 谷歌推出备份新工具:Google Drive将同步计算机文件
Google 正在将云端硬盘 Drive 转变成更强大的文件备份工具.很快,Google Drive 将能监测并备份你电脑上的(几乎)所有文件,只要是你勾选的文档,Drive 就能同步至云端. 具体来 ...
- 合并 && 还原属性链
效果 原数据 { "id": 10, "text": { "title": "title", "content ...