




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于WinPcap的网络数据包捕获与分析一、WinPcap介绍WinPcap简介WinPcap是一个在Windows操作系统下的免费、公开的用于直接访问网络的开发工具包编程API。大多数Windows网络应用程序都是通过Winsock APIWindows套接口这类高级编程接口访问网络的。这种方法允许在网络上进行简单的数据传送,因为操作系统的TCP/IP协议栈实现软件会处理底层细节协议操作、流程重组等等,并提供一个类似于读写文件的函数接口。然而,有时候“简便方法并不能满足实际需要。有些程序希望绕过TCP/IP协议栈,直接处理底层网络中的通信数据,它们需要对网络进行底层进行直接访问,即在没有类似
2、协议栈TCP/IP协议栈的实体介入条件下对网络进行原始访问。基于Winsock API编程,应用程序是通过调用操作系统提供的编程接口访问TCP/IP协议栈实现网络通信的。基于WinPcap编程,网络程序实际上是绕开操作系统的TCP/IP协议栈直接通过底层网络发送数据,因此,网络程序可以实现一些更低级、更灵活的功能。WinPcap的组成与结构如图1.1,WinPcap由一个数据包监听设备驱动程序NPF、一个底层的动态连接库和一个高层的不依赖于操作系统的静态库共三个局部构成。这里,NPF在操作系统的内核级,、在用户级。图1.1 WinPcap的组成和结构应用程序NPFDevice Driver用户
3、层核心层网络层数据包1数据包监听设备驱动程序技术实现上,为了实现抓包,系统必须绕过操作系统的协议栈来访问在网络上传输的原始数据包raw packet。这就要求WinPcap的一局部运行在操作系统核心内部,直接与网络接口驱动交互。由于这个局部是系统依赖system dependent的,在Winpcap的解决方案中它被视为是一个设备驱动,称作NPFNetgroup Packet Filter。2底层的动态连接库和高层静态库为了方便编程,WinPcap必须提供一个编程接口API,这就是WinPcap的底层的动态连接库和高层静态库。这里,packet.dll提供了一个底层API,伴随着一个独立于Mi
4、crosoft操作系统的编程接口,这些API可以直接用来访问驱动的函数;导出了一组更强大的与libpcap一致的高层抓包函数库capture primitives,这些函数使得数据包的捕获以一种与网络硬件和操作系统无关的方式进行。底层动态链接库运行在用户层,它将应用程序和数据包监听设备驱动程序隔离开来,使得应用程序可以不加修改地在不同的WINDOWS系统上运行。高级的静态链接库和应用程序编译在一起,它使用低级动态链接库提供的效劳,向应用程序提供完善的监听接口。WinPcap的根本原理抓包是WinPcap的根本功能,也是NPF最重要的操作。在抓包的时候,驱动例如NIC Driver使用一个网络接
5、口监视着数据包,并将这些数据包完整无缺地投递给用户级应用程序。如图1.4,WinPcap的NPF抓包主要依靠两个组件。1数据包过滤器filter。数据包过滤器决定是否接收进来的数据包并把数据包拷贝给监听程序。数据包过滤器是一个有布尔输出的函数。如果函数值是true,抓包驱动拷贝数据包给应用程序;如果是false,数据包将被丢弃。NPF数据包过滤器更复杂一些,因为它不仅决定数据包是否应该被保存,而且还决定要保存的字节数。被NPF驱动采用的过滤系统来源于BSD Packet FilterBPF,一个虚拟处理器可以执行伪汇编书写的用户级过滤程序。应用程序采用用户自定义的过滤器并使用wpcap.dll
6、将它们编译进BPF程序。然后,应用程序使用BIOCSETF IOCTL写入核心态的过滤器。这样,对于每一个到来的数据包该程序都将被执行,而满足条件的数据包将被接收。与传统解决方案不同,NPF不解释interpret过滤器,而是执行execute它。由于性能的原因,在使用过滤器前,NPF提供一个JIT编译器将它转化本钱地的80 x86函数。当一个数据包被捕获,NPF调用这个本地函数而不是调用过滤器解释器,这使得处理过程相当快。 2循环缓冲区Buffer。NPF的循环缓冲区用来保存数据包以免丧失如果一个包符合过滤器的要求,就被复制到循环缓冲区。一个保存在缓冲区中的数据包有一个头,它包含了一些主要的
7、信息,例如时间戳和数据包的大小,注意:它不是协议头。另外,循环缓冲区以队列插入的方式来保存数据包,提高数据的存储效率。程序员可以以组的方式将数据包从NPF缓冲区拷贝到应用程序,这样就提高了性能,因为它降低了读的次数。如果一个数据包到来的时候缓冲区已经满了,那么该数据包将被丢弃,这时就发生了丢包现象。3Network Tap是一个用于探听网络中所有数据流的函数。4数据统计如图1.4,为了提高数据处理的速度,WinPcap将统计和监听功能移到内核中,这样防止了将任何数据都传递给用户。WinPcap通过使用从NPF中得到的过滤器来执行一个内核级的可编统计模块,这使其变成一个强大的分级引擎,而不只是个
8、简单的包过滤器。应用程序可以构造这个模块来监听网络活动的任意方面例如:网络负荷、两台主机间的流量、每秒web请求的次数等等,并在预定的时间间隔内接收内核传来的数据。图1.4 Wincap的内部结构和原理基于Winpcap的监控程序NIC DriverNDIS3.0或更高核心层网络层数据包基于Winpcap的应用程序1Filter1Filter2Filter3Buffer1Buffer2统计引擎Network TapTCP/IP协议栈其他协议栈实现User- Buffer1User- Buffer2基于Winpcap的应用程序2NPF调用API的程序直接访问NPF的程序用户层统计模式防止了复制数
9、据包并且执行0-copy机制当包仍存放在NIC网络接口卡驱动的内存中时开始进行统计,随后丢弃这个包。而且,环境转换的次数可以保持最低,这是因为结果通过一次系统调用就可以返回给用户。它不需要缓冲区内核或用户,因此当监听开始时不用为它分配内存。可见,统计模式是一种很有效的网络监听方式,在高速网络中利用libpcap来工作也没任何问题。WinPcap为程序员提供了一套系统调用和高层函数来进行网络监听,这使得已经知道libpcap API的程序员能很容易使用。5构造数据包BPF和NPF都提供了构造包的函数,使用户可以将原始数据包发送到网络中。然而,Unix程序员一般不用libpcap提供的这些函数,因
10、为在Unix平台上,应用程序可以使用原始套接字来发送伪造的数据包。在Windows环境下,只有Windows2000提供了原始套接字,而且非常有限。因此在Windows环境下,WinPcap就成为首选的构造数据包的函数库,它提供了一套标准稳定的函数。另外,NPF增加了一些新的函数,这些函数可以使数据包通过一次用户和内核模式之间的转换就发送几次。数据复制到内核中,然后通过调用一次NDIS将包发送到网络中。尽管WinPcap提供了一套新的函数来开发这些特性,但它没有提供那些强大的创立数据包的抽象函数,这需要通过其它现有的工具来实现。程序员可以利用著名的Libnet Packet Assembly
11、Library的Windows版本实现,这个函数库增加了数据包结构层并在WinPcap上构造数据包。二、基于Winpcap的数据包捕获与分析程序开发流程程序分析本课程设计采用VC+,基于应用程序Winpcap来实现数据包的捕获与分析。界面采用MFC实现一个单文档的程序,用户区分为左右两个视图,左边视图是一个列表,显示捕获数据包的简要信息,右边视图是一个树形图,显示选中数据包的详细信息。由菜单项中的按钮触发操作,同时改良了程序自带的保存、另存为等图标,成功加上了自己的图标,并与按钮ID相匹配。这个程序根本实现了预期功能,下面是程序开发的过程。建立工程在VC+ 6.0下创立一个单文档的MFC应用程
12、序,工程名:Sniffer-图2.2-图2.3。图2.1 建立工程图2.2 选中单文档图2.3 自动生成的类列表到下载.zip 下载.zip,然后解压,解压缩就可以看见Include和lib;在Project-Settings标签栏中选择C/C+,在Preprocessor definitions的输入框里添加WPCAP;再选择Link,在Object/library modules的输入框里添加 。然后再设置VC+环境变量:选择Tools-options-Directories的include里面参加下载的winpcap开发包解压以后的include文件夹。选择Tools-options-D
13、irectories的lib里面参加下载的winpcap开发包解压以后的lib文件夹。界面设计工程建好了,下面进行界面的设计:首先,对菜单栏进行修改,去掉原来单文档所自带的“文件、“编辑菜单项选择项,保存“查看和“帮助,新建“文件,下面有“开始抓包ID_FILE_START、“停止抓包ID_FILE_STOP、“退出ID_APP_EXIT三个菜单项选择项。再建“适配器菜单,下面有“选择适配器ID_ADP_CHOOSE选项,并对每个新建的选项进行注释说明。如图:图2.4 菜单栏然后,翻开文件,对工具栏进行修改。自做了一个工具栏图片来代替原来工程的Toolbar.bmp,然后将多余的复制粘贴等工具
14、按钮信息删除掉,回到界面处,再对每个按钮图标进行ID设置。如图:,从左向右依次是:开始抓包、停止抓包、选择适配器、帮助图标按钮。最后,新建一个选择适配器的根本对话框,ID标识为IDD_ADP_DIALOG,双击此对话框新建一个类:CAdpterDlg。在此根本对话框上拖入一个Tree Contrl控件和List Contrl控件,对控件属性界面进行调整,翻开类向导,将Tree Contrl成员变量设置为:m_treeCtrl,List Contrl成员变量设置为m_listCtrl。如图:图2.5 选择适配器对话框图2.6 类向导设置变量代码编写对菜单中的按钮项分别建立类向导、增加函数,如“选
15、择适配器的消息映射关系为ON_COMMAND(ID_ADP_CHOOSE, OnAdpChoose),“开始抓包的消息映射关系为ON_COMMAND(ID_FILE_START, OnFileStart);“停止抓包的消息映射关系为ON_COMMAND(ID_FILE_STOP, OnFileStop)以及菜单项是否禁用的菜单项的状态的响应消息映射关系。这些都是在CMainFrame类里面定义或声明的,CMainFrame作为一个主控类,当操作时,其调用其他的对话框类、视图类,然后再调用报文类。网卡的绑定为ID_ADP_CHOOSE选择适配器建立类向导,新建函数:OnAdpChoose(),翻
16、开适配器对话框,并对网卡链表进行传递。具体代码如下:void CMainFrame:OnAdpChoose() CAdpterDlg adp;/为适配器对话框初始化值adp.mainFrm=this;adp.alldevs=this-alldevs;adp.dev=this-dev;if(adp.DoModal()=IDOK)/将适配器信息返回this-alldevs=adp.alldevs;this-dev=adp.dev;适配器对话框的数据初始化:在类向导中为类CAdpterDlg添加WM_INITDIALOG消息,并添加默认函数:OnInitDialog,点击“Edit Code对函数进
17、行编辑。Pcap 提供cap_findAlldevs() 这个函数来实现些功能,返回一个pcap_if 结构的链表,链表的每项内容都含有全面的网卡信息,网卡名称和网卡描述,特别是pcap_findalldevs()这个函数返回的每个pcap_if 结构体都同包含一个pcap_addr 结构的列表,它包含:一个地址列表,一个掩码列表,一个播送地址列表和一个目的地址列表。为Tree Contrl 建立类向导,增加OnClickAdpTree(),实现双击网卡,在List Contrl中显示网卡具体信息,要注意的是显示网卡详细信息时,调用DeleteAllItems()删除原来内容。捕获包并显示数据
18、包的简要信息 = 1 * GB3 规划捕获包和分析数据包的界面,我准备将视图分为左右两局部,左边为一个ListView,右边为一个TreeView。所以新建两个类CapPackView(继承CListView)、ProTreeView继承CTreeView。CapPackView负责显示所有抓到的包的简要信息,ProTreeView负责显示选中的包的具体信息。 = 2 * GB3 在主窗口按下开始抓包按钮时,启动捕获包线程ReceivePacket,调用pcap_open_live(dev-name,65536,1,1000,errbuf)翻开网卡,在这里第三个参数设置为1代表将适配器设置为混
19、杂模式,捕获所有流经此适配器的数据包。网卡一旦翻开,就可以调用pcap_loop()进行数据的捕获。每次捕获到数据包时,libpcap都会自动调用回调函数pcap_handle,在回调函数里,PostMessage向CapPackView发送消息,通知CapPackView处理收到的包。在这里,使用的是自定义消息来实现的,即首先自定义消息#define WM_MESSAGE_PACKET_RECEIVE WM_USER+1,类CCapPackView头文件中声明消息的数据包处理函数:afx_msg void OnPacketReceive(const struct pcap_pkthdr *p
20、kt_header, const u_char *pkt_data)。 = 3 * GB3 CapPackView收到消息,调用OnPacketReceive将将所捕获包的内容复制下来,并保存到CArray数组中,然后对包的类型进行判断,当为IP数据包时,调用类IPGram中的函数GetSrcAddr()获取IP数据包的源IP地址,GetDestAddr()获取IP数据包的目的IP地址,ip.GetService()得到IP数据包的协议类型,将这些信息及数据包的长度等显示到界面。类似的,如果数据包为ARP或RARP类型,那么相应的调用类ARPGram、RARPGram中的GetSrcPrtAd
21、dr()、GetDestPrtAddr(),GetSrcPrtAddr()、GetDestPrtAddr()等函数,并将信息逐行显示于界面。选中CapPackView中的某条信息,将数据包的具体信息显示于ProTreeView中。 = 1 * GB3 定义响应操作的消息#define WM_MESSAGE_PACKET_SELECT WM_USER+2,在类CProTreeView头文件中声明消息的处理函数:afx_msg void OnPacketSelect(const struct pcap_pkthdr *pkt_header, const u_char *pkt_data);在类CC
22、pPackView中,调用PostMessage通知ProTreeView刷新为新选中的报文内容。 = 2 * GB3 类CProTreeView接收到消息后,调用OnPacketSelect(),对数据包进行分析,首先解析以太帧,调用类EtherHead中的函数GetMacDestAddr()获取目的MAC地址、GetMacSrcAddr()获取源MAC地址。然后根据数据包类型的不同,调用IP数据包、ARP数据包、RARP数据包处理类IPGram、 ARPGram、RARPGram中的函数,逐行插入数据包的具体信息。需要停止抓包时,点击菜单项或图标按钮停止抓包。只需要添加消息处理函数OnFi
23、leStop(),设置一下开始抓包或停止抓包状态。完善程序。对一些可能出现的情况进行错误处理,如选择网卡时,抓包是时按钮状态是否禁用等等。到此,根本上完成了程序所需要的所有功能。三、主要建立的类及调用流程本程序中,主要有四种类型的类,主控类:CMainFrame,视图类:CCapPackView、CProTreeView,对话框类:CAdpterDlg以及报文类。为整体的类之间的调用流程图。图3.1 总体类调用流程图CMainFrame类 CMainFrame,是用于主控的类,它起到分区、处理消息、传递消息的功能。将用户区分为两个视图,点击菜单里的按钮,触发翻开适配器对话框或者开始抓包、停止抓
24、包的动作。表3.1 CMainFrame类说明CMainFrame类父类CFrameWnd类成员函数参数功能OnCreateClient()LPCREATESTRUCT lpcs, CCreateContext* pContext将用户区分为左右两个视图ProTreeView、CapPackViewOnAdpChoose()消息处理函数无为适配器对话框初始化值,即点击选中适配器按钮弹出适配器对话框OnFileStart()消息处理函数无设置抓包状态,释放所有包,清空内容,启动收包线程,开始捕获包。OnFileStop()消息处理函数无停止抓包OnUpdateFileStart()消息处理函数C
25、CmdUI* pCmdUI当在捕获包时,禁用“抓包按钮OnUpdateFileStop()消息处理函数CCmdUI* pCmdUI当停止捕获包时,禁用“停止按钮成员变量类型含义*PackViewCCapPackView显示所有抓到的包的简要信息*ProTreeViewCProTreeView显示选中的包的具体信息,用解析树表达*alldevspcap_if_t适配器链表*devpcap_if_t适配器链表isStartbool是否开始抓包isStopbool是否停止抓包图为CMainFrame类中方法调用流程图。图3.2 CMainFrame类中方法调用流程图CAdpterDlg类CAdpte
26、rDlg:对话框类,此对话框分为两局部:树形控件和list控件。当对话框被触发后,树形控件显示了本机所有的适配器列表,双击选中网卡,list控件显示其名称、描述、子网掩码、IP地址等信息。点击确定按钮即绑定了此网卡,注意虚拟网卡是不能被绑定的。为类CAdpterDlg的成员函数及成员变量的说明。表3.2 CAdpterDlg类说明CAdpterDlg类父类CDialog类成员函数参数功能OnInitDialog()公有无初始化树形控件,设置list控件,读取适配器并将适配器列表显示在树形控件中。当网卡绑定以后再次翻开此对话框,直接显示其信息。OnClickAdpTree()消息处理函数NMHD
27、R*pNMHDR, LRESULT* pResult当双击选中网卡时,找到选中的网卡,设置list控件,并显示网卡名称、描述等信息。OnOK()消息处理函数无对选中的网卡进行判断,不可以选虚拟网卡也不可不选。OnCancel()消息处理函数无关闭对话框成员变量类型含义*devpcap_if_t适配器链表*alldevspcap_if_t适配器链表errbufPCAP_ERRBUF_SIZEchar存储错误信息的字符串CAdpterDlg类中函数调用流程图如下图。图3.3 CAdpterDlg类中函数调用流程图CCapPackView类CCapPackView,视图类,主要功能是实现接收从类Ma
28、inFrm传递过来的消息和报文,将数据包的头部及数据包的数据内容分别保存在CArray数组中,然后调用报文类IPGram、 ARPGram、RARPGram中的函数,将数据包简要信息显示于界面。表为CCapPackView的成员函数及成员变量的说明。图3.4为其类中方法调用流程图。表3.3 CCapPackView类说明CCapPackView类父类CListView类成员函数参数功能OnInitialUpdate()公有无设置CapPackView视图的视图风格,设置其列信息。OnPacketReceive()消息处理函数pcap_pkthdr*pkt_header,constu_char*
29、pkt_data显示所有抓到的包的简要信息OnItemchanged()消息处理函数NMHDR* pNMHDR, LRESULT* pResult当点击列表中某行信息,将向ProTreeView发送消息,并传递报文信息。成员变量类型含义indexint序号totalmemint收到的报文占用总字节数timeint流逝的秒数deltaint一秒内收到的字节数图3.4 CCapPackView类中函数调用流程图CProTreeView类CProTreeView,视图类,主要功能是接收来自于CapPackView的消息,调用消息处理函数OnPacketSelect(),在显示数据前清空列表及捕获的数
30、据包。对传递过来的报文头部和内容进行分析,调用报文类IPGram、 ARPGram、RARPGram中的函数将具体信息显示于树形列表中。表为CProTreeView的成员函数及成员变量的说明。表3.4 CProTreeView类说明CProTreeView类父类CTreeView类成员函数参数功能OnInitialUpdate()无设置ProTreeView视图的视图风格,解析树。OnPacketSelect()消息处理函数pcap_pkthdr*pkt_header,constu_char*pkt_data报文头部和内容指针以树形结构显示选中的包的具体信息。OnClick()NMHDR* p
31、NMHDR, LRESULT* pResult无成员变量类型含义*ipIPGram指向IP报文的指针*etherEtherHead指向以太帧的指针*arpint指向ARP报文的指针*rarpint指向RARP报文的指针报文类IPGram:IP报文class IPGramintversion;/IP版本int IHL;/IP报文头长,包含多少个32位int servicetype;/效劳类型int precedence;/优先级bool delay;/延迟bool throughtput;/吞吐量bool reliability;/可靠性unsigned int totallen;/IP报文总长
32、bool DF;/是否分段,为1表示没有分段bool MF;/是否有进一步分段,为1表示有int fragoffset;/偏移量int TTL;/生命期time to liveint protocol;/协议:TCP,UDP,ICMPunsigned int checksum;/校验和long srcaddr;/源IP地址long destaddr;/目的IP地址int datalen;/数据长度unsigned char *data;/数据内容IPGram();/构造函数 IPGram(const unsigned char* buf,int buflen);/重构函数 virtual IP
33、Gram();/析构函数 CString GetService();/获取IP数据包的协议类型 void GetDestAddr(char *str);/获取目的IP地址 CString GetDestAddr();/获取目的IP地址 void GetSrcAddr(char *str);/获取源IP地址 CString GetSrcAddr();/获取源IP地址;ARPGram:ARP报文RARPGram:RARP报文class ARPGram &class RARPGram int hdwaddrtype;/硬件地址类型int prtaddrtype;/协议地址类型int hdwaddrl
34、en;/硬件地址长度int prtaddrlen;/协议地址长度int operation;/操作类型BYTE srchdwaddr6;/源硬件地址int srcprtaddr;/源协议地址BYTE desthdwaddr6;/目的硬件地址int destprtaddr;/目的协议地址 ARPGram();/构造函数 ARPGram(const unsigned char *buf,unsigned int buflen);/重构函数 virtual ARPGram();/析构函数 CString GetSrcHdwAddr();/ARP/RARP包发送方MAC CString GetSrcP
35、rtAddr();/ARP/RARP包发送方IP CString GetDestHdwAddr();/ARP/RARP包接收方MAC CString GetDestPrtAddr();/ARP/RARP包接收方IP;EtherHead:以太帧头部class EtherHead int srcaddr6;/ 源硬件地址int destaddr6;/目的硬件地址int type;/承载的网络层协议类型:IP,ARP,RARP EtherHead();/构造函数 EtherHead(const unsigned char *buf,int buflen);/重构函数 void GetMacSrcAd
36、dr(char *str);/数据包源MAC地址,不返回 CString GetMacSrcAddr();/数据包源MAC地址,返回字符串 void GetMacDestAddr(char *str);/ 数据包目的MAC地址,不返回 CString GetMacDestAddr();/数据包目的MAC地址,返回字符串 CString GetType();/获取数据包类型:IP、ARP、RARP virtual EtherHead();/析构函数;四、程序使用说明点击菜单栏“适配器下的“选择适配器菜单按钮,或工具栏中的适配器选项进行适配器的绑定,如图4.1。图4.1 选择适配器菜单项双击选中检
37、测的网卡,下方出现该网卡信息,按OK即完成网卡绑定。不能选虚拟网卡,即 没有IP地址的网卡。如图4.2。图4.2 网卡绑定菜单文件开始抓包或工具栏按下,开始抓包。然后程序开始抓包,每一行为一个报文,左边视图中简要显示了每个报文的,源、目的IP地址,长度,类型信息。所示。图4.3 数据包简要信息选中一报文,那么出现以下图。图4.4 具体信息显示TCP、UDP、ICMP报文所示。图4.5 IP报文具体信息显示ARP或RARP报文解析树,如图4.6所示。图4.6 ARP数据包具体信息显示五、总结整个程序捕获包和分析包根本上经过了:列出网卡列表、选中网卡、翻开网卡、捕获数据包、复制数据包内存到一个数组
38、,然后对数据包进行分析这些步骤。程序中用到了线程,消息传递,窗口划分,自定义状态栏等等,我对MFC的机制有了更进一步的理解,熟悉了winpcap的捕包原理及应用,更是加深了对网络报文的认识和理解。由于之前很少用MFC来开发程序,在编程的过程中遇到了很多问题,经过黄老师的耐心帮助和指导、翻阅文档书籍,终于完成了预期的程序。原文已完。下文为附加文档,如不需要,下载后可以编辑删除,谢谢!施工组织设计本施工组织设计是本着“一流的质量、一流的工期、科学管理来进行编制的。编制时,我公司技术开展部、质检科以及工程部经过精心研究、合理组织、充分利用先进工艺,特制定本施工组织设计。工程概况:西夏建材城生活区27
39、#、30#住宅楼位于银川市新市区,橡胶厂对面。本工程由宁夏燕宝房地产开发开发,银川市规划建筑设计院设计。本工程耐火等级二级,屋面防水等级三级,地震防烈度为8度,设计使用年限50年。本工程建筑面积:27#m2;30# m2。室内地坪 m为准,总长27#m;30# m。总宽27#m;30# m。设计室外地坪至檐口高度18.6 00m,呈长方形布置,东西向,三个单元。本工程设计屋面为坡屋面防水采用防水涂料。外墙水泥砂浆抹面,外刷浅灰色墙漆。内墙面除卫生间200300瓷砖,高到顶外,其余均水泥砂桨罩面,刮二遍腻子;楼梯间内墙采用50厚胶粉聚苯颗粒保温。地面除卫生间200200防滑地砖,楼梯间50厚细石
40、砼1:1水泥砂浆压光外,其余均采用50厚豆石砼毛地面。楼梯间单元门采用楼宇对讲门,卧室门、卫生间门采用木门,进户门采用保温防盗门。本工程窗均采用塑钢单框双玻窗,开启窗均加纱扇。本工程设计为节能型住宅,外墙均贴保温板。本工程设计为砖混结构,共六层。根底采用C30钢筋砼条形根底,上砌MU30毛石根底,砂浆采用M10水泥砂浆。一、二、三、四层墙体采用M10混合砂浆砌筑MU15多孔砖;五层以上采用M混合砂浆砌筑MU15多孔砖。本工程结构中使用主要材料:钢材: = 1 * ROMAN I级钢, = 2 * ROMAN II级钢;砼:根底垫层C10,根底底板、地圈梁、根底构造柱均采用C30,其余均C20。
41、本工程设计给水管采用PPR塑料管,热熔连接;排水管采用UPVC硬聚氯乙烯管,粘接;给水管道安装除立管及安装IC卡水表的管段明设计外,其余均暗设。本工程设计采暖为钢制高频焊翅片管散热器。本工程设计照明电源采用BV铜芯线,插座电源等采用BV4铜芯线;除客厅为吸顶灯外,其余均采用座灯。施工部署及进度方案1、工期安排本工程合同方案开工日期:2004年8月21日,竣工日期:2005年7月10日,合同工期315天。方案2004年9月15日前完成根底工程,2004年12月30日完成主体结构工程,2005年6月20日完成装修工种,安装工程穿插进行,于2005年7月1日前完成。具体进度方案详见附图1施工进度方案
42、。2、施工顺序 = 1 * GB2 根底工程工程定位线验线挖坑钎探验坑砂砾垫层的施工根底砼垫层刷环保沥青 根底放线预检砼条形根底刷环保沥青 毛石根底的砌筑构造柱砼地圈梁地沟回填工。 = 2 * GB2 结构工程结构定位放线预检构造柱钢筋绑扎、定位隐检砖墙砌筑50cm线找平、预检柱梁、顶板支模预检梁板钢筋绑扎隐检、开盘申请砼浇筑下一层结构定位放线重复上述施工工序直至顶。 = 3 * GB2 内装修工程门窗框安装室内墙面抹灰楼地面门窗安装、油漆五金安装、内部清理通水通电、竣工。 = 4 * GB2 外装修工程外装修工程遵循先上后下原那么,屋面工程包括烟道、透气孔、压顶、找平层结束后,进行大面积装饰
43、,塑钢门窗在装修中逐步插入。施工准备现场道路本工程北靠北京西路,南临规划道路,交通较为方便。场内道路采用级配砂石铺垫,压路机压。机械准备 = 1 * GB2 设2台搅拌机,2台水泵。 = 2 * GB2 现场设钢筋切断机1台,调直机1台,电焊机2台,1台对焊机。 = 3 * GB2 现场设木工锯,木工刨各1台。 = 4 * GB2 回填期间设打夯机2台。 = 5 * GB2 现场设塔吊2台。3、施工用电施工用电已由建设单位引入现场;根据工程特点,设总配电箱1个,塔吊、搅抖站、搅拌机、切断机、调直机、对焊机、木工棚、楼层用电、生活区各配置配电箱1个;电源均采用三相五线制;各分支均采用钢管埋地;各
44、种机械均设置接零、接地保护。具体配电箱位置详见总施工平面图。施工用水施工用水采用深井水自来水,并砌筑一蓄水池进行蓄水。楼层用水采用钢管焊接给水管,每层留一出水口;给水管不置蓄水池内,由潜水泵进行送水。生活用水生活用水采用自来水。劳动力安排 = 1 * GB2 结构期间:瓦工40人;钢筋工15人;木工15人;放线工2人;材料1人;机工4人;电工2人;水暖工2人;架子工8人;电焊工2人;壮工20人。 = 2 * GB2 装修期间抹灰工60人;木工4人;油工8人;电工6人;水暖工10人。四、主要施工方法1、施工测量放线 = 1 * GB2 施工测量根本要求A、西夏建材城生活区17#、30#住宅楼定位
45、依据:西夏建材城生活区工程总体规划图,北京路、规划道路永久性定位B、根据工程特点及建筑工程施工测量规程DBI012195,4、3、2条,此工程设置精度等级为二级,测角中误差12,边长相对误差1/15000。C、根据施工组织设计中进度控制测量工作进度,明确对工程效劳,对工程进度负责的工作目的。 = 2 * GB2 工程定位A、根据工程特点,平面布置和定位原那么,设置一横一纵两条主控线即27#楼:A轴线和1轴线;30#楼:A轴线和1轴线。根据主轴线设置两条次轴线即27#楼:H轴线和27轴线;30#楼:H轴线和27轴线。 B、主、次控轴线定位时均布置引桩,引桩采用木桩,后砌一水泥砂浆砖墩;并将轴线标
46、注在四周永久性建筑物或构造物上,施测完成后报建设单位、监理单位确认后另以妥善保护。C、控轴线沿结构逐层弹在墙上,用以控制楼层定位。D、水准点:建设单位给定准点,建筑物.500m。 = 3 * GB2 根底测量A、在开挖前,基坑根据平面布置,轴线控制桩为基准定出基坑长、宽度,作为拉小线的依据;根据结构要求,条基外侧1100mm为砂砾垫层边,考虑放坡,撒上白灰线,进行开挖。B、在垫层上进行根底定位放线前,以建筑物平面控制线为准,校测建筑物轴线控制桩无误后,再用经纬仪以正倒镜挑直法直接投测各轴线。C、标高由水准点引测至坑底。 = 4 * GB2 结构施工测量A、首层放线验收后,主控轴一引至外墙立面上
47、,作为以上务层主轴线竖身高以测的基准。B、施工层放线时,应在结构平面上校投测轴线,闭合后再测设细部尺寸和边线。C、标高竖向传递设置3个标高点,以其平均点引测水平线折平时,尽量将水准仪安置在测点范围内中心位置,进行测设。2、基坑开挖本工种设计地基换工,夯填砂砾垫层1100mm;根据此特点,采用机械大开挖,留200mm厚进行挖工、铲平。开挖时,根据现场实际土质,按标准要求1:0.33放坡,反铲挖掘机挖土。开挖出的土,根据现场实际情况,尽量留足需用的好土,多余土方挖出,防止二次搬运。人工开挖时,由技术员抄平好水平控制小木桩,用方铲铲平。挖掘机挖土应该从上而下施工,禁止采用挖空底脚的操作方法。机械挖土
48、,先发出信号,挖土的时候,挖掘机操作范围内,不许进行其他工作,装土的时候,任何人都不能停留在装土车上。3、砌筑工程 = 1 * GB2 材料砖:MU15多孔砖,毛石根底采用MU30毛石。砂浆:0.00以下采用M10水泥砂浆,一、二、三、四层采用M10混合砂浆,五层以上采用M7.5混合砂浆。 = 2 * GB2 砌筑要求A、开工前由工长对所管辖班组下发技术交底。B、砌筑前应提前浇水湿润砖块,水率保持在1015。C、砌筑采用满铺满挤“三一砌筑法“,要求灰浆饱满,灰缝812mm。D、外墙转角处应同时砌筑,内外墙交接处必须留斜槎,槎子长度不小于墙体高度的2/3,槎子必须平直、通顺。E、隔墙与墙不同时砌
49、筑又不留成斜槎时可于墙中引出阳槎或在墙的灰缝中预埋拉结筋,每道不少于2根。F、接槎时必须将外表清理干净,浇水湿润,填实砂浆,保持灰缝平直。G、砖墙按图纸要求每50mm设置26钢筋与构造柱拉结,具体要求见结构总说明。H、施工时需留置临时洞口,其侧边离交接处的墙面不少于500mm,顶部设边梁。4、钢筋工程 = 1 * GB2 凡进场钢筋须具备材质证明,原材料须取样试验,经复试合格前方可使用。 = 2 * GB2 钢筋绑扎前应仔细对照图纸进行翻样,根据翻样配料,施工前由工长对所管辖班组下发技术交底,准备施工工具,做好施工的准备工作。 = 3 * GB2 板中受力钢筋搭接, = 1 * ROMAN I
50、级钢30d, = 2 * ROMAN II级钢40d,搭接位置:上部钢筋在跨中1/3范围内,下部钢筋在支座1/3范围内。 = 4 * GB2 钢筋保护层:根底40mm,柱、梁30mm,板20mm。保护层采用50mm50mm的水泥砂浆块。板上部钢筋用马凳按梅花状支起。 = 5 * GB2 所有钢筋绑扎,须填写隐检记录,质评资料及目检记录,验收合格前方可进行下道工序。5、砼工程 = 1 * GB2 水泥进场后须做复试,经复试合格后由试验室下达配合比。施工中严格掌握各种材料的用量,并在搅拌机前进行标识,注明每立方米、每盘用量。同时搅拌时,须车车进磅,做好记录。 = 2 * GB2 浇筑前,对模板内杂
51、物及油污、泥土清理干净。 = 3 * GB2 投料顺序:石子水泥砂子。 = 4 * GB2 本工程均采用插入式振捣器,一次浇筑厚度不宜超过振捣器作用局部长度的倍,捣实砼的移动间距不宜大于振捣器作用半径的倍。 = 5 * GB2 砼浇筑后1昼夜浇水养护,养护期不少于7d,砼强度未到达MPa之前不得上人作业。6、模板工程 = 1 * GB2 本工程模板采用钢木混合模板。模板支搭的标高、截面尺寸、平整度、垂直度应到达质量验收标准,以满足其钢度,稳定性要求。 = 2 * GB2 模板支撑应牢固可靠,安装进程中须有防倾覆的临时固定措施。 = 3 * GB2 本工程选用851脱模剂,每撤除一次模板经清理后
52、涂刷脱模剂,再重新组装,以保证砼的外观质量。架子工程 = 1 * GB2 本工程采用双排架子防护,外设立杆距墙2m,里皮距墙50cm,立杆间距,顺水间距,间距不大于1m。 = 2 * GB2 架子底部夯实,垫木板,绑扫地杆。 = 3 * GB2 为加强架子的稳定性,每七根立杆间设十字盖,斜杆与地面夹角60o。 = 4 * GB2 为防止脚平架外倾,与结构采用钢性拉接,拉接点间距附和“垂四平六“的原那么。 = 5 * GB2 外防护架用闭目式平安网进行封闭,两平网塔接和网下口必须绑孔紧密。 = 6 * GB2 结构架子高出作业层1m,每步架子满铺脚手板,要求严密牢固并严禁探头板。装饰工程装饰工程
53、施工前,要组织质监部门、建设、设计、施工单位四方参加的主体结构工程核验收,对已完全体分部工程进行全面检查、发现问题及时处理,去除隐患,并做好装饰前材料、机具及技术准备工作。1、根据预算所需材料数量,提出材料进场日期,在不影响施工用料的原那么下,尽量减少施工用地,按照供料方案分期分批组织材料进场。2、将墙面找方垂直线,清理基层,然后冲筋,按照图纸要求,分层找平垂直,阴阳角度方正,然后拉线作灰饼。底子灰应粘结牢固,并用刮杠刮平,木抹子抹平。3、罩面应均匀一致,并应在终凝前刮平压光,上三遍灰抹子。4、油漆、涂料施工:油漆工程施工时,施工环境应清洁干净,待抹灰、楼地面工程全部完工前方可施工,油漆涂刷前
54、被涂物的外表必须枯燥、清洁,刷漆时要多刷多理不流坠,到达薄厚均匀,色调一致,外表光亮。墙面涂料基层要求现整,对缝隙微小孔洞,要用腻子找平,并用砂纸磨平。为了使颜色一致,应使用同一配合比的涂料,使用时涂料搅匀,方可涂刷,接槎外留在阴阳角外必须保证涂层均匀一致外表不显刷纹。楼地面工程楼地面工程只作50厚豆石砼垫层。做垫层必须先冲筋后做垫层,其平整度要控制在4mm以内,加强养护45天后,才能进行上层施工。10、层面工程1、屋面保温层及找平层必须符合设计要求,防水采用防水卷材。2、做水泥砂浆找平层外表应平整压光,屋面与女儿墙交接处抹成R150mm圆角。3、本工程屋面材料防水,专业性强,为保证质量,我们
55、请专业人员作防水层。4、原材料在使用前经化验合格后才能使用,不合格材料严禁使用。11、水、暖、电安装工程 = 1 * GB2 管道安装应选用合格的产品,并按设计放线,坡度值及坡向应符合图纸和标准要求。 = 2 * GB2 水、暖安装前做单项试压,完毕后做通、闭水后试验和打压试验,卫生间闭水试验不少于24小时。 = 3 * GB2 电预埋管路宜沿最近线路敷设,应尽量减少弯曲,用线管的弯曲丝接套丝,折扁裂缝焊接,管口应套丝用堵头堵塞。油漆防腐等均符合图纸各施工标准及质量评定标准。 = 4 * GB2 灯具、插座、开关等器具安装,其标高位置应符合设计要求,外表应平直洁净方正。 = 5 * GB2 灯
56、具、插座、开关等器具必须选用合格产品,不合格产品严禁使用。 = 6 * GB2 做好各种绝缘接地电阻的测试和系统调整记录,检查配线的组序一定要符合设计要求。五、预防质量通病之措施本工程按优质工程进行管理与控制,其优质工程的目标体系与创优质工程的保证措施在本工程施工组织设计中做了详述。本措施不再述。创优质工程除对各分部、分项、工序工程施工中,精心操作,一丝不苟、高标准严要求作业外,关键是防止质量通病。为此,提出防止通病的作业措施如下:1、砖墙砌体组砌方法: = 1 * GB2 、组砌方法:一顺一丁组砌,由于这种方法有较多的丁砖,加强了在墙体厚度方向的连结,砌体的抗压强度要高一些。 = 2 * G
57、B2 、重视砖砌体水平灰缝的厚度不均与砂浆饱满度: = 1 * GB3 、水平灰缝不匀:标准规定砖砌体水平灰缝厚度与竖向灰缝宽度一般为10mm,但不应小于8mm,也不应小于12mm。砂浆的作用:一是铺平砖的砌筑外表,二是将块体砖粘接成一个整体。标准中之所以有厚度和宽度要求,是由于灰缝过薄,使砌体产生不均匀受力,影响砌体随载能力。如果灰缝过厚,由于砂浆抗压强度低于压的抗压可度。在荷载作用下,会增大砂浆的横向变形,降低砌体的强度。试验研究说明,当水平灰缝为12mm时,砖砌体的抗压强度极限,仅为10mm厚时的7075,所以要保证水平灰缝厚度在812mm之间。怎样确保水平灰缝的厚度呢?A、皮数杆上,一
58、定将缝厚度标明、标准。B、砌砖时,一定要按皮数杆的分层挂线,将小线接紧,跟线铺灰,跟线砌筑。C、砌浆所用之中砂,一定要过筛,将大于5mm的砂子筛掉。D、要选砖,将过厚的砖剔掉。E、均匀铺灰,务使铺灰之厚度均匀一致。坚持“一块砖、一铲灰、一揉挤“的“三一“砌砖法“。 = 2 * GB3 砂浆必须满铺,确保砂浆饱满度。标准规定:多孔砖砌体,水平灰缝的砂浆饱满度不得低于80,这是因为,灰缝的饱满度,对砌体的强度影响很大。比方:根据试验研究,当水平灰缝满足80以上,竖缝饱满度满足60以上时,砌体强度较不饱满时,要提高23倍,怎样保证灰缝饱满度呢?A、支持使用所述的“三一“砌砖法,即“一块砖、一铲灰、一
59、揉挤“。B、水平缝用铺浆法铺浆长度50cm砌筑,竖缝用挤浆法砌筑,竖缝还要畏助以加浆法,以使竖向饱满,绝不可用水冲灌浆法。C、砂浆使用时,如有淅水,须作二次拌合后再用。绝不可加水二次拌合。拌好的砂浆,须于3小时之内使用完毕。D、不可以干砖砌筑。淋砖时,一般以15含水率为宜。约砖块四周浸水15mm左右。 = 3 * GB3 注意砌砖时的拉结筋的留置方法:砖砌体的拉结筋留置方法,按设计要求招待。如设计没有具体规定时,按标准执行。标准规定“拉结筋的数量每12cm厚墙放1根6钢筋,沿墙高每50cm留一组。埋入长度从墙的留槎处算起,每边均100cm,末端应有弯钩见图。标准还规定:“构造柱与墙连拉处,宜砌
60、成马牙槎,并沿墙高每50cm设26拉结钢筋,每边伸入墙内100cm。2、预防楼梯砼踏步掉角:楼梯踏步浇筑砼后,往往因达不到砼强度要求,就因施工需要提前使用,既便有了足够强度,使用不慎,都会掉楞掉角。而且有了掉角,修补十分困难,且不定期牢固。为此宜采用两种方式予以防治: = 1 * GB2 踏步楞角上,在浇筑砼时增设防护钢筋。 = 2 * GB2 踏步拆模时,立即以砂袋将踏步覆盖。水泥袋或用针织袋装砂既有利于砼养护,又可保护踏步楞角。3、楼梯弊端的预防:防止踏步不等高:踏步不等高,既不美观,又影响使用。踏步不等高现象,一般发生在最上或最下一步踏步中。产生的原那么,一是建筑标高与结构标高不吻合。二
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融保险AI应用行业深度调研及发展项目商业计划书
- 高端护手霜与护甲油套装行业跨境出海项目商业计划书
- 包子主题餐厅企业制定与实施新质生产力项目商业计划书
- 动物园内住宿体验行业深度调研及发展项目商业计划书
- 单选框业务流程创新-第1篇-洞察阐释
- 植物群落演替与生物多样性保护-洞察阐释
- 概率逻辑中的可计算性与构造性证明-洞察阐释
- 基于超声波的液气胸实时监测系统研究-洞察阐释
- 生物降解材料在白色污染治理中的应用-洞察阐释
- 绿色开采成本效益分析-洞察阐释
- 医保按病种分值付费(DIP)院内培训
- 施工钢结构制作安装环境因素识别表
- 污水井巡查记录表
- 2关于更换现场项目经理的函
- 部编版小学道德与法治四年级下册期末复习简答及分析题专练(含答案)
- 电子商务那些事学习通超星课后章节答案期末考试题库2023年
- 环境及理化因素损伤-冻伤
- Unit7SeasonPartALetslearn(教学设计)闽教版英语四年级下册
- 世界文化遗产武当山古建筑群的资料
- 医院医疗设备采购项目HIS系统及硬件采购投标文件
- 【橡胶工艺】-橡胶产品生产工艺规程
评论
0/150
提交评论