网络作业
文章平均质量分 87
tuantuanlin
这个作者很懒,什么都没留下…
展开
-
linux抓包(基于libpcap)
linux下实现简单sniffer,要求同上一篇。这里基于llibcap实现,网上讲解的很详细,这里记录一下以备以后查看。参考:libpcap安装与例程这篇讲的很详细libpcap详解安装与配置就省略了。1.libpcap抓包框架 pcap_lookupdev():函数用于查找网络设备,返回可被pcap_open_live()函数调用的网络设备名指针。原创 2013-11-21 14:46:44 · 5447 阅读 · 0 评论 -
linux实现抓包 (使用原始套接字数据连路层协议)
网络作业2 IP分组流量分析程序 开发一个IP分组流量分析程序,实现以下功能:捕获并分析通过本地网卡的IP分组,输入捕获IP分组的时间限制,输出每个IP分组头部的主要字段(包括版本、总长度、协议、源地址与目的地址等),协议字段需要区分出具体类型(例如TCP、UDP、ICMP、IGMP、IPv6等)。实现方案: 1.原始套接字抓包 2.linux信原创 2013-11-18 15:06:46 · 3985 阅读 · 0 评论 -
linux下端口扫描的实现(TCP connect、TCP SYN、TCP FIN、UDP四种方式)1 原理篇
常用的端口扫描方式有以下三种:1.connect扫描我们知道,常见的TCP的socket实现过程为更本质的连接和结束的过程是如下这个样子的:从上面两个图我们可以看出来目标主机的一个端口如果是监听状态(LISTENING或者LINSTEN),那么当我connect目标主机时就能成功,否则说明端口是关闭的。优点: 编程简单,是需要一个API connect(),比较可靠原创 2013-12-19 21:28:30 · 14554 阅读 · 0 评论 -
linux下端口扫描的实现(TCP connect、TCP SYN、TCP FIN、UDP四种方式)2整体架构篇
一.概述该程序在linux下用c语言实现TCP的三种端口扫描方式(connect、SYN、FIN)和UDP端口扫描;我用一个函数数组存放四个实现函数,根据选择的端口扫描方式,在创建线程的时候选择不同的函数来执行,主线程挂起等待扫描线程结束,最后打印开放的端口。我用一个全局的队列来存放存在的指针,链表实现。除了connect方式,其它的方式需要知道源主机的ip,因此在创建扫描线程之前,先获得本机原创 2013-12-19 22:34:39 · 2773 阅读 · 7 评论 -
linux下端口扫描的实现(TCP connect、TCP SYN、TCP FIN、UDP四种方式)4 TCP SYN方式
1.原理众所周知,当调用connect()时要经历三次握手的过程SYN-SYN&ACK-ACK,而这种SYN扫描方式又叫半开放式扫描,即客户端只发送SYN帧,端口开放回应SYN&ACK帧,端口关闭回应RST帧,缺点就是不可靠,可能会丢包。2.实现方式及遇到的问题前面架构篇有讲过,每个扫描线程(tcpSynScanPort)会建立一个线程池,对每个要扫描的端口都创建一个线程tcpSynS原创 2013-12-25 19:09:59 · 4192 阅读 · 1 评论 -
linux下端口扫描的实现(TCP connect、TCP SYN、TCP FIN、UDP四种方式)5 TCP FIN方式
一、原理众所周知,当调用close()时要经历四次挥手的过程FIN-ACK-FIN-ACK.当我们发送FIN帧给一个非监听的端口时,会有RST应答,反之,发给一个正在监听的端口时,不会有任何回应。这种扫描方式速度快、隐蔽性好,但是不能用在windows系统中。二、实现方法及遇到的问题跟SYN扫描方式差不多,直接上代码吧。三、实现代码原创 2013-12-27 15:24:34 · 1983 阅读 · 3 评论 -
linux下端口扫描的实现(TCP connect、TCP SYN、TCP FIN、UDP四种方式)6 UDP扫描
一、原理给一个端口发送UDP报文,如果端口是开放的,则没有响应,如果端口是关闭的,对方会回复一个ICMP端口不可达报文(对应ICMP首部前两个字段:类型3 代码3)。这种方式扫描速度慢;不可靠(udp和icmp都是不可靠协议)。二、实现方式及遇到的问题每个扫描线程(udpIcmpScanPort)会建立一个线程池,对每个要扫描的端口都创建一个线程udpIcmpScanEach(线程原创 2013-12-27 15:58:44 · 3922 阅读 · 1 评论 -
Linux ping简单实现
需要在局域网内探测目标主机是否存在,基于icmp协议实现。1.icmp协议概述 我们平时用ping命令来查看网络上的另一个主机是否可达。工作原理:向目标主机发送icmp报文,目标主机得到后会把报文的数据加上icmp帧头传回给源主机。 当然,icmp协议的典型应用除了ping还有traceroute(侦测主机到目的主机之间所经路由情况),这里就不详细说了。原创 2013-11-28 16:56:37 · 4292 阅读 · 0 评论 -
linux下端口扫描的实现(TCP connect、TCP SYN、TCP FIN、UDP四种方式)3 TCP connect方式
1.原理前面原理篇有讲过,开放的TCP端口会等待客户端connect自己,所以我的客户端程序connect目标端口,根据返回值得不同判断对方是否开放了监听端口(connec()返回-1说明连接失败,则端口关闭;否则,成功,说明端口开放),扫面时间会比其他方式长,因为对于失败的端口不止connect一次。2.实现方式及遇到的的问题前面架构篇有讲过,每个扫描线程(tcpConScanPor原创 2013-12-25 15:24:52 · 2143 阅读 · 1 评论