CN105245407A - 基于套接字的网络嗅探器及其方法 - Google Patents

基于套接字的网络嗅探器及其方法 Download PDF

Info

Publication number
CN105245407A
CN105245407A CN201510728897.4A CN201510728897A CN105245407A CN 105245407 A CN105245407 A CN 105245407A CN 201510728897 A CN201510728897 A CN 201510728897A CN 105245407 A CN105245407 A CN 105245407A
Authority
CN
China
Prior art keywords
packet
socket
network
data
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510728897.4A
Other languages
English (en)
Inventor
周刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yangcheng Institute of Technology
Yancheng Institute of Technology
Original Assignee
Yangcheng Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yangcheng Institute of Technology filed Critical Yangcheng Institute of Technology
Priority to CN201510728897.4A priority Critical patent/CN105245407A/zh
Publication of CN105245407A publication Critical patent/CN105245407A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<b>本发明公开了一种</b><b>基于套接字的网络嗅探器,包括数据包捕获模块、数据包解析模块和数据包显示模块;所述数据包捕获模块用于设置套接字和捕获数据包,所述数据包解析模块用于数据包头解析和子协议解析,所述数据包显示模块包括List输出控件和Edit输出控件,所述List输出控件将数据包头分析结果显示在界面中,所述Edit输出控件用于输出数据包内容分析结果。开发工作量小,成本低廉</b><b>。</b>

Description

基于套接字的网络嗅探器及其方法
技术领域
本发明涉及一种网络嗅探器,具体地涉及一种基于套接字的网络嗅探器及其方法。
背景技术
随着互联网的普及,越来越多的网络应用和信息资源被放在了互联网上,与此同时,互联网的复杂性和网络犯罪的增长,给网络的稳定和安全带来了巨大的压力,网络安全性和可靠性显得越发重要。因此,对于能够分析、诊断网络、测试网络稳定性和安全性的工具软件的需求也越来越迫切。网络嗅探器作为网络管理、系统稳定与网络安全的基础,始终发挥着至关重要的作用。一方面攻击者可以利用其来监听网络中数据,以达到非法获取信息的目的。另一方面网络管理者也可用其分析网络状况,查找漏洞以供修补。
目前,大多数操作系统都为应用程序提供了访问数据链路层的手段,它使得应用程序可拥有如下功能:监视数据链路层上所收到的分组。这使得我们可以在普通计算机上通过像Tcpdump这样的程序来监视网络,而无须使用特殊的硬件设备。如果结合网卡的混杂模式,我们甚至可以监听局域网内的所有分组。
网络嗅探行为就是利用网络嗅探器,在网络的任何一个位置上获取数据,并加以分析整理,得出有关网络状态、数据流动情况等信息,从而达到对网络的管理、攻击以及信息截获等目的,是网络监听的重要手段。而网络嗅探器就是能够捕获网络中数据的工具。
网络嗅探器一般用于分析网络的流量,以便找出所关心的网络中潜在的问题。假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器来做出精确的问题判断。也有出于保密等的需要而用于监听等场合,当然也有不少黑客利用它窃取重要信息来达到自己的目的。
网络嗅探器与一般的键盘捕获程序不同。键盘捕获程序捕获在终端上输入的键值,而网络嗅探器则捕获真实的网络报文。嗅探器将以太网卡设置成“混杂模式”来达到这个目的。网络嗅探器对网络上主机间的通信,能给出一个详细的,逐包的统计信息。可以选择某一台主机,看看它正在同哪些主机进行通信,使用了哪些协议,传输了一些什么内容。对于这类工具,常常可以设置详细的过滤条件,可以针对信息的源主机、目的主机、使用的协议、使用的端口以及包的长度来设置过滤条件,也可以是这些条件的组合。
“端口嗅探”通常指用同一信息对目标计算机的所有所需扫描的端口进行发送,然后根据返回端口状态来分析目标计算机的端口是否打开、是否可用。“端口嗅探”行为的一个重要特征,是在短时期内有很多来自相同的信源地址,传向不同的目的端口的包。
通常进行端口嗅探的工具目前主要采用的是端口嗅探软件,也称之为“端口嗅探器”。端口嗅探器也是一种程序,它可以对目标主机的端口进行连接,并记录目标端口的应答。端口嗅探器通过选用远程TCP/IP协议不同的端口的服务,记录目标计算机端口给予回答的方法,可以收集到很多关于目标计算机的各种有用信息,比如是否有端口在监听,是否允许匿名登录,是否有可写的FTP目录,是否能用Telnet等。
嗅探器作为一种网络通讯程序,是通过对网卡的编程来实现网络通讯的,对网卡的编程可以使用通常的套接字(Socket)方式来进行。
套接字有三种类型:流式套接字,数据报套接字及原始套接字。
流式套接字定义了一种可靠的面向连接的服务,实现了无差错无重复的顺序数据传输。数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证可靠,无差错。原始套接字允许对低层协议如IP或ICMP直接访问,主要用于新的网络协议实现的测试等。
无连接服务器一般都是面向事务处理的,一个请求一个应答就完成了客户程序与服务程序之间的相互作用。若使用无连接的套接字编程,程序的流程如图1所示。
面向连接服务器处理的请求往往比较复杂,不是一来一去的请求应答所能解决的,而且往往是并发服务器。使用面向连接的套接字编程,程序的流程如图2所示。
面向连接服务器的套接字工作过程如下:服务器首先启动,通过调用socket()建立一个套接字,然后调用绑定函数bind()将该套接字和本地网络地址联系在一起,再调用监听listen()使套接字做好监听的准备,并规定它的请求队列的长度,之后就调用接收函数accept()来接收连接。客户在建立套接字后就可调用连接函数connect()和服务器建立连接。连接一旦建立,客户机和服务器之间就可以通过调用读函数read()和写函数write()来发送和接收数据。最后,待数据传送结束后,双方调用关闭函数close()关闭套接字。
在MFC中Microsoft为套接字提供了相应的类CAsyncSocket和CSocket,CAsyncSocket提供基于异步通信的套接字封装功能,CSocket则是由CAsyncSocket派生,提供更加高层次的功能,例如可以将套接字上发送和接收的数据和一个文件对象(CSocketFile)关联起来,通过读写文件来达到发送和接收数据的目的,此外CSocket提供的通信为同步通信,数据未接收到或是未发送完之前调用不会返回。此外通过MFC类开发者可以不考虑网络字节顺序和更多的通信细节。
在一次网络通信/连接中有以下几个参数需要被设置:本地IP地址、本地端口号、对方端口号、对方IP地址。左边两部分称为一个半关联,当与右边两部分建立连接后就称为一个全关联。在这个全关联的套接字上可以双向的交换数据。如果是使用无连接的通信则只需要建立一个半关联,在发送和接收时指明另一半的参数就可以了,所以可以说无连接的通信是将数据发送到另一台主机的指定端口。此外不论是有连接还是无连接的通信都不需要双方的端口号相同。因此只需要做很少的工作就可以开发出利用网络进行通信的软件。
发明内容
针对上述技术问题,本发明的目的是:提供一种基于套接字的网络嗅探器,开发工作量小,成本低廉。
本发明的技术方案是:
一种基于套接字的网络嗅探器,其特征在于,包括数据包捕获模块、数据包解析模块和数据包显示模块;
所述数据包捕获模块用于设置套接字和捕获数据包,所述数据包解析模块用于数据包头解析和子协议解析,所述数据包显示模块包括List输出控件和Edit输出控件,所述List输出控件将数据包头分析结果显示在界面中,所述Edit输出控件用于输出数据包内容分析结果。
优选的,所述Edit输出控件输出显示行号、十六进制形式数据包内容、ASCII码形式数据包内容。
本发明还公开了一种使用上述的网络嗅探器的网络嗅探方法,其特征在于,包括如下步骤:
S01:创建原始套接字,并设置其操作选项;
S02:将原始套接字绑定到本地网卡地址上,设置网卡为混杂模式;
S03:初始化数据包接收结构;
S04:当接收到数据包时先解析数据包头,再根据数据包协议进行子协议解析;
S05:解析完以后分别通过List输出控件和Edit输出控件将解析的数据包内容输出。
优选的,所述数据包内容包括协议、IP源地址、IP目标地址、TCP源端口号、TCP目标端口号、包的数据部分。
优选的,所述步骤S04包括对捕获的数据包进行拆包分析包括解析源IP、解析目标IP、计算IP头长,通过协议映射模块确定数据包协议类型,将数据包送入子协议解析模块根据不同的协议类型分析其IP地址、数据包大小、端口号。
本发明又公开了一种基于套接字的TCP端口嗅探方法,其特征在于,包括如下步骤:
S11:调用扫描Scan方法,读取目的IP、起始端口、目的端口;
S12:创建对应的线程,并建立套接字;
S13:向目的端口建立TCP连接,如果收到TCP回复则成功建立连接;将成功建立连接的端口号输出之后关闭连接和线程;如果没有收到TCP回复则连接失败,重新执行步骤S12。
与现有技术相比,本发明的优点是:
1.基于套接字的网络嗅探器通过原始套接字,可以更加自如地控制Windows下的多种协议,而且能够对网络底层的传输机制进行控制,通过MFC类开发者可以不考虑网络字节顺序和更多的通信细节,开发工作量小,成本低廉。
2.这种嗅探方式隐蔽,不会对正常的网络传输造成任何影响,同时数据收集也十分丰富。通过网络嗅探技术实现审计跟踪、攻击检测等在网络安全问题上具有重要意义。通过网络嗅探技术收集到网络中传送的数据后对这些数据进行分析可以帮助解决在各种网络上的性能问题并排除网络故障,进一步可以产生报表等数据分析结果以更好的支持网络的运行。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为无连接套接字应用程序时序图;
图2为面向连接套接字应用程序时序图;
图3为UDP报文头结构图;
图4为TCP报文段头结构图;
图5为IP数据报头结构图;
图6为本发明基于套接字的网络嗅探器的结构框图;
图7为本发明基于套接字的网络嗅探器嗅探方法的流程图;
图8初始化WindowsSocketsDLL的流程图;
图9设置原始套接字流程图;
图10数据包解析模块的数据包解析流程图;
图11子协议解析流程图;
图12数据包内容输出流程图;
图13为本发明基于套接字的TCP端口嗅探方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
实施例:
具体到网络嗅探器的编程实现上,对网卡混杂模式的设置是通过原始套接字rawsocket来实现的,这也有别于通常经常使用的数据流套接字和数据报套接字。在创建了原始套接字后,需要通过setsockopt()函数来设置IP数据报头操作选项,然后再通过绑定函数bind()函数将原始套接字绑定到本地网卡。为了让原始套接字能接受所有的数据,还需要通过函数ioctlsocket()来进行设置,而且还可以指定是否亲自处理IP头。
至此,实际就可以开始对网络数据包进行嗅探了,对数据包的获取仍像流式套接字或数据报套接字那样通过接收函数recv()函数来完成。但是与其他两种套接字不同的是,原始套接字此时捕获到的数据包并不仅仅是单纯的数据信息,而是包含有IP头、TCP头等信息头的最原始的数据信息,这些信息保留了它在网络传输时的原貌。通过对这些在低层传输的原始信息的分析可以得到有关网络的一些信息。由于这些数据经过了网络层和传输层的打包,因此需要根据其附加的帧头对数据包进行分析。
数据在从应用层到达传输层时,将添加TCP报文段头,或是UDP报文头。其中UDP报文头比较简单,由一个8字节的头和数据部分组成,具体格式如图3所示。
对于此UDP报文头的分析在编程实现中可通过数据结构UDPPacketHead来定义:
typedefstruct_tagUDPHEADER//8Bytes
{
unsignedshortuh_sport;//16位源端口
unsignedshortuh_dport;//16位目的端口
unsignedshortuh_len;//16位长度
unsignedshortuh_sum;//16位校验和
}UDP_HEADER;
而TCP报文段头则比较复杂,以20个固定字节开始,在固定头后面还可以有一些长度不固定的可选项,图4给出TCP报文段头的组成格式。
对于此TCP报文段头的分析在编程实现中可通过数据结构TCPPacketHead来定义:
typedefstruct_tagTCPHEADER//20Bytes
{
unsignedshortth_sport;//源端口
unsignedshortth_dport;//目的端口
unsignedintth_seq;//32位序列号
unsignedintth_ack;//32位确认号
unsignedcharth_lenres;//4位首部长度
unsignedcharth_flag;//6位标志位
unsignedshortth_win;//16位窗口大小
unsignedshortth_sum;//16位校验和
unsignedshortth_urp;//16位紧急数据偏移量
}TCP_HEADER;
在网络层,还要给TCP报文段添加一个IP数据报头以组成IP数据报。IP数据报头格式如图5所示。
同样,在实际编程中也需要通过一个数据结构来表示此IP数据报头,下面给出此数据结构的定义:
typedefstruct_tagIPHEADER//20Bytes
{unsignedcharh_lenver;//4位首部长度
unsignedchartos;//8位服务类型
unsignedshorttotal_len;//16位总长度
unsignedshortident;//16位标识符
unsignedshortfrag_and_flags;//3位标志位
unsignedcharttl;//8位生存时间
unsignedcharproto;//8位协议(IP,TCP,UDPetc)
unsignedshortchecksum;//16位IP首部校验和
unsignedintsourceIP;//32位源IP地址
unsignedintdestIP;//32位目的IP地址
}IP_HEADER,*PIP_HEADER。
如图6所示,网络嗅探器的开发分为三大模块:数据包捕获模块、数据包解析模块、数据包显示模块。
其中数据包捕获模块中包含套接字设定和包捕获功能,数据包解析模块中包含数据包头解析和子协议解析,数据包显示模块中包含List输出控件和Edit输出控件。
如图7所示,利用套接字开发网络嗅探器程序时的一般步骤是:首先,创建原始套接字,并设置其操作选项;其次将原始套接字绑定到本地网卡地址上;设置网卡为混杂模式,这样网卡就可以收到任何在网络中传输的数据包;在以上条件下开始对数据包进行捕获和分析;当接收到数据包时先解析数据包头,再根据数据包协议进行子协议解析;解析完以后分别通过List和Edit两个控件将解析的内容数据输出。可以捕获到所有经过本地网卡的数据包,并可从中分析出协议、IP源地址、IP目标地址、TCP源端口号、TCP目标端口号、包的数据部分等信息。
在捕获数据包前,由于WindowsSockets的服务是以动态连接库WINSOCK.DLL形式实现的,所以必须要先调用WSAStartup()函数。本函数必须是应用程序或DLL调用的第一个WindowsSockets函数,它允许应用程序或DLL指明WindowsSocketsAPI的版本号及获得特定WindowsSockets实现的细节。应用程序或DLL只能在一次成功的WSAStartup()调用之后才能调用进一步的WindowsSocketsAPI函数。
为支持日后可能和WindowsSockets1.1有功能上差异的WindowsSockets实现及应用程序,在WSAStartup()中规定了一个协议。WSAStartup()的调用方和动态数据库链接文件WindowsSocketsDLL互相通知对方它们可以支持的最高版本,并且互相确认对方的最高版本是可接受的。在WSAStartup()函数的入口,WindowsSocketsDLL检查了应用程序所需的版本。如果版本高于DLL支持的最低版本,则调用成功并且DLL在wHighVersion中返回它所支持的最高版本,在wVersion中返回它的高版本和wVersionRequested中的较小者。然后WindowsSocketsDLL就会假设应用程序将使用wVersion。如果WSDATA结构中的wVersion域对调用方来说不可接收,它就应调用WSACleanup()函数并且要么去另一个WindowsSocketsDLL中搜索,要么初始化失败。具体流程如图8所示。
在捕获数据包前,还要对原始套接字进行设置,流程如图9。
其中设置原始套接字为SIO_RCVALL就是将网卡设置为混杂模式,实现代码如下:
//把网卡置于混杂模式。获取IO操作的相关信息
DWORDdwBufferLen[10];
DWORDdwBufferInLen=1;
DWORDdwBytesReturned=0;
err=WSAIoctl(m_RawSock,
SIO_RCVALL,//设置SOCK_RAW为SIO_RCVALL,以便接收所有的IP包
&dwBufferInLen,
sizeof(dwBufferInLen),
&dwBufferLen,
sizeof(dwBufferLen),
&dwBytesReturned,
NULL,
NULL
);//最后两参数设置非阻塞。
前面的工作基本上都是对原始套接字进行设置,在将原始套接字设置完毕,使其能按预期目的工作时,就可以通过接收函数recv()函数从网卡接收数据了,接收到的原始数据包存放在缓存RecvBuf[]中,缓冲区长度BUFFER_SIZE为65535。然后就可以根据前面对IP数据报头、TCP报文段头的结构描述而对捕获的数据包进行分析。
图10所示为数据包解析模块的数据包解析过程,该模块对捕获的数据包进行拆包分析,根据不同的协议类型分析其IP地址,数据包大小,端口号等。其中协议映射模块定义如下:
typedefstruct_tagPROTOMAP
{
intProtoNum;
charProtoText[MAX_PROTO_TEXT_LEN];
}PROTOMAP;
staticPROTOMAPProtoMap[MAX_PROTO_NUM]=
{
{IPPROTO_IP,"IP"},
{IPPROTO_ICMP,"ICMP"},
{IPPROTO_IGMP,"IGMP"},
{IPPROTO_GGP,"GGP"},
{IPPROTO_TCP,"TCP"},
{IPPROTO_PUP,"PUP"},
{IPPROTO_UDP,"UDP"},
{IPPROTO_IDP,"IDP"},
{IPPROTO_ND,"NP"},
{IPPROTO_RAW,"RAW"},
{IPPROTO_MAX,"MAX"},
{NULL,""}
};
协议映射模块确定数据包协议类型后,将数据包送入子协议解析模块进行具体协议(如TCP、UDP)的解析工作。其流程如图11所示。
在完成了数据包的捕获、分析后,调用list控件将数据包头分析结果显示在界面中,list控件输出的主要代码如下:
DWORDdwEx=m_dataListCtrl.GetExtendedStyle();
m_dataListCtrl.SetExtendedStyle(dwEx|LVS_EX_FLATSB);
m_dataListCtrl.InsertColumn(0,_T("协议"),LVCFMT_LEFT,40);
m_dataListCtrl.InsertColumn(1,_T("来源"),LVCFMT_LEFT,140);
m_dataListCtrl.InsertColumn(2,_T("目的地"),LVCFMT_LEFT,140);
m_dataListCtrl.InsertColumn(3,_T("大小"),LVCFMT_LEFT,55);
m_dataListCtrl.InsertColumn(4,_T("时间"),LVCFMT_LEFT,100);
InitializeCriticalSection(&m_csList);
同时,调用三个edit控件将数据包内容分析结果分别显示行号,数据包内容(十六进制形式),数据包内容(ASCII码形式)。主要流程如图12。
为了更好地辅助嗅探工具,本发明还公开了一个使用TCPconnectScan方法的端口嗅探工具。它是最简单的一种扫描技术,所利用的是TCP协议的3次握手过程。它直接连到目标端口并完成一个完整的3次握手过程(SYN、SYN/ACK和ACK)。操作系统提供的连接函数connect()函数完成系统调用,用来与目标计算机的端口进行连接。如果端口处于监听状态,那么connect()函数就能成功。否则,这个端口是不能用的,即没有提供服务。
如图13所示,TCPconnectScan的一般步骤是:首先,读入目的IP地址,起始端口,目的端口;其次创建对应的线程,并建立套接字;向目的端口建立TCP连接,这样如果收到TCP回复则成功建立连接;将成功建立连接的端口号输出之后关闭连接和线程。具体实现主要代码如下:
defscan(address,start_port,end_port)
threads=[]
forportinstart_port..end_port
threads<<Thread.new(port)do|theport|
begin
sock=Socket.new(AF_INET,SOCK_STREAM,0)
sockaddr=Socket.pack_sockaddr_in(theport,address)
sock.connect(sockaddr)
inscription"port:#{theport}isopen\n"
sock.close
rescue
end
end
end
threads.each{|thr|thr.join}
end
该种基于套接字的网络嗅探器和端口嗅探器的开发工作量小,成本低廉,具有很好地应用前景。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (6)

1.一种基于套接字的网络嗅探器,其特征在于,包括数据包捕获模块、数据包解析模块和数据包显示模块;
所述数据包捕获模块用于设置套接字和捕获数据包,所述数据包解析模块用于数据包头解析和子协议解析,所述数据包显示模块包括List输出控件和Edit输出控件,所述List输出控件将数据包头分析结果显示在界面中,所述Edit输出控件用于输出数据包内容分析结果。
2.根据权利要求1所述的基于套接字的网络嗅探器,其特征在于,所述Edit输出控件输出显示行号、十六进制形式数据包内容、ASCII码形式数据包内容。
3.一种使用权利要求1所述的网络嗅探器的网络嗅探方法,其特征在于,包括如下步骤:
S01:创建原始套接字,并设置其操作选项;
S02:将原始套接字绑定到本地网卡地址上,设置网卡为混杂模式;
S03:初始化数据包接收结构;
S04:当接收到数据包时先解析数据包头,再根据数据包协议进行子协议解析;
S05:解析完以后分别通过List输出控件和Edit输出控件将解析的数据包内容输出。
4.根据权利要求3所述的网络嗅探方法,其特征在于,所述数据包内容包括协议、IP源地址、IP目标地址、TCP源端口号、TCP目标端口号、包的数据部分。
5.根据权利要求3所述的网络嗅探方法,其特征在于,所述步骤S04包括对捕获的数据包进行拆包分析,分析内容包括解析源IP、解析目标IP、计算IP头长,通过协议映射模块确定数据包协议类型,将数据包送入子协议解析模块根据不同的协议类型分析其IP地址、数据包大小、端口号。
6.一种基于套接字的TCP端口嗅探方法,其特征在于,包括如下步骤:
S11:调用扫描Scan方法,读取目的IP、起始端口、目的端口;
S12:创建对应的线程,并建立套接字;
S13:向目的端口建立TCP连接,如果收到TCP回复则成功建立连接;将成功建立连接的端口号输出之后关闭连接和线程;如果没有收到TCP回复则连接失败,重新执行步骤S12。
CN201510728897.4A 2015-10-30 2015-10-30 基于套接字的网络嗅探器及其方法 Pending CN105245407A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510728897.4A CN105245407A (zh) 2015-10-30 2015-10-30 基于套接字的网络嗅探器及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510728897.4A CN105245407A (zh) 2015-10-30 2015-10-30 基于套接字的网络嗅探器及其方法

Publications (1)

Publication Number Publication Date
CN105245407A true CN105245407A (zh) 2016-01-13

Family

ID=55042916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510728897.4A Pending CN105245407A (zh) 2015-10-30 2015-10-30 基于套接字的网络嗅探器及其方法

Country Status (1)

Country Link
CN (1) CN105245407A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106066854A (zh) * 2016-05-23 2016-11-02 乐视控股(北京)有限公司 数据抓取方法及系统
CN106533836A (zh) * 2016-11-29 2017-03-22 杭州迪普科技股份有限公司 一种展示数据包内容的方法及装置
CN108063747A (zh) * 2016-11-09 2018-05-22 北京君正集成电路股份有限公司 无线数据处理方法和装置
CN110890996A (zh) * 2019-08-21 2020-03-17 研祥智能科技股份有限公司 网口状态的检测方法、设备及系统
CN111429009A (zh) * 2020-03-26 2020-07-17 广东电网有限责任公司 一种工作任务跟进系统
CN111917777A (zh) * 2020-08-03 2020-11-10 中国电子科技集团公司第三十六研究所 网络数据解析方法、装置和电子设备
CN117938942A (zh) * 2024-03-20 2024-04-26 中国科学院空天信息创新研究院 服务注册发现方法、装置、设备、介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010044268A (ko) * 2001-01-30 2001-06-05 지학근 백도어를 통한 인터넷사이트 접속 방지시스템 및 그 방법
CN103117900A (zh) * 2013-02-01 2013-05-22 山东大学 一种可配置式工业以太网数据解析系统及解析方法
CN103873285A (zh) * 2012-12-18 2014-06-18 河南省电力公司郑州供电公司 信息网络统一管理平台
CN104580064A (zh) * 2013-10-10 2015-04-29 中兴通讯股份有限公司 一种网络数据的处理方法、终端和数据卡

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010044268A (ko) * 2001-01-30 2001-06-05 지학근 백도어를 통한 인터넷사이트 접속 방지시스템 및 그 방법
CN103873285A (zh) * 2012-12-18 2014-06-18 河南省电力公司郑州供电公司 信息网络统一管理平台
CN103117900A (zh) * 2013-02-01 2013-05-22 山东大学 一种可配置式工业以太网数据解析系统及解析方法
CN104580064A (zh) * 2013-10-10 2015-04-29 中兴通讯股份有限公司 一种网络数据的处理方法、终端和数据卡

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周峰: "一种网络漏洞探测系统的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *
钱平 等: "基于混杂模式的网络嗅探器组件设计", 《上海应用技术学院学报》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106066854A (zh) * 2016-05-23 2016-11-02 乐视控股(北京)有限公司 数据抓取方法及系统
CN108063747A (zh) * 2016-11-09 2018-05-22 北京君正集成电路股份有限公司 无线数据处理方法和装置
CN106533836A (zh) * 2016-11-29 2017-03-22 杭州迪普科技股份有限公司 一种展示数据包内容的方法及装置
CN106533836B (zh) * 2016-11-29 2019-09-06 杭州迪普科技股份有限公司 一种展示数据包内容的方法及装置
CN110890996A (zh) * 2019-08-21 2020-03-17 研祥智能科技股份有限公司 网口状态的检测方法、设备及系统
CN110890996B (zh) * 2019-08-21 2021-08-13 研祥智能科技股份有限公司 网口状态的检测方法、设备及系统
CN111429009A (zh) * 2020-03-26 2020-07-17 广东电网有限责任公司 一种工作任务跟进系统
CN111917777A (zh) * 2020-08-03 2020-11-10 中国电子科技集团公司第三十六研究所 网络数据解析方法、装置和电子设备
CN111917777B (zh) * 2020-08-03 2023-04-18 中国电子科技集团公司第三十六研究所 网络数据解析方法、装置和电子设备
CN117938942A (zh) * 2024-03-20 2024-04-26 中国科学院空天信息创新研究院 服务注册发现方法、装置、设备、介质及程序产品
CN117938942B (zh) * 2024-03-20 2024-05-28 中国科学院空天信息创新研究院 服务注册发现方法、装置、设备、介质及程序产品

Similar Documents

Publication Publication Date Title
CN105245407A (zh) 基于套接字的网络嗅探器及其方法
CN102739473B (zh) 一种应用智能网卡的网络检测方法
CN113794605B (zh) 一种基于eBPF的内核丢包检测方法、系统和装置
CN111130931B (zh) 一种违规外联设备的检测方法及装置
US20070297349A1 (en) Method and System for Collecting Information Relating to a Communication Network
CN107645573B (zh) 一种探测递归域名服务器转发配置的方法
CN101599897B (zh) 一种基于应用层检测的对等网络流量控制方法
CN108400909A (zh) 一种流量统计方法、装置、终端设备和存储介质
GB2426145A (en) Protocol-generic eavesdropping network device
CN103078769B (zh) 一种实现实物设备无缝接入网络模拟器的系统及方法
CN106330584A (zh) 一种业务流的识别方法及识别装置
GB2505288A (en) Identifying address translations
CN105847343A (zh) 用于点对点传输的公网信息探测方法、装置及系统
CN113645653A (zh) 网络仿真测试方法、装置、电子设备及存储介质
CN112910725B (zh) 一种网络流量检测方法及装置、计算机可读存储介质
US8145746B1 (en) Using the TCP window size for identifying packets and debugging
US20040148417A1 (en) Method and system for distinguishing higher layer protocols of the internet traffic
CN102223266B (zh) 一种协议代理检测方法和装置
CN112073553A (zh) 网络地址转换类型的检测方法、装置、设备及存储介质
Zirngibl et al. QUIC Hunter: Finding QUIC Deployments and Identifying Server Libraries Across the Internet
CN114710560A (zh) 数据处理方法、系统及代理设备、终端设备
US20130028262A1 (en) Method and arrangement for message analysis
JP7395615B2 (ja) データ漏洩防止
CN114205218A (zh) 一种容器网络故障的诊断方法和系统
CN115022281A (zh) 一种nat穿透的方法、客户端及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160113

RJ01 Rejection of invention patent application after publication