防火墙代码
防火墙代码 BOOL IpRule::OnInitDialog CDialog::OnInitDialog m_hDLGBKBrush CreateSolidBrushRGB242246250 // TODO: Add extra initialization here m_iprulelist.SetExtendedStylem_iprulelist.GetExtendedStyle
LVS_EX_CHECKBOXES LVS_EX_FLATSB LVS_EX_GRIDLINES
LVS_EX_HEADERDRAGDROP LVS_EX_FULLROWSELECT
m_iprulelist.InsertColumn0启用LVCFMT_LEFT20-1 m_iprulelist.InsertColumn1规则
名称LVCFMT_LEFT180-1 m_iprulelist.InsertColumn2动作LVCFMT_LEFT40-1
m_iprulelist.InsertColumn3
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
LVCFMT_LEFT45-1 m_iprulelist.InsertColumn4方向
LVCFMT_LEFT40-1 m_iprulelist.InsertColumn5对方IPLVCFMT_LEFT80-1
m_iprulelist.InsertColumn6对方端口LVCFMT_LEFT60-1 m_iprulelist.InsertColumn7
本机端口LVCFMT_LEFT60-1 m_iprulelist.InsertItem0 return TRUE // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE void IpRule::OnBeditip EditIPRule m_editDlg POSITION pos int row DialogText dText CString address ICMP_ITEM icRule new ICMP_ITEM //TU_ITEM tuRule pos m_iprulelist.GetFirstSelectedItemPosition row
m_iprulelist.GetNextSelectedItempos /CString temp temp.Formatdrow MessageBoxtemp/ dText.name m_iprulelist.GetItemText row 1 dText.action m_iprulelist.GetItemText row 2 dText.direction m_iprulelist.GetItemText row 4 ifm_iprulelist.GetItemText row 5 任意 dText.destStartIp 0 dText.destEndIp 0
else address m_iprulelist.GetItemText row 5 dText.destStartIp 0x00000000//not finished dText.destEndIp 0x00000000 ifaddress m_iprulelist.GetItemText row 6 dText.destStartPort dText.destEndPort else ifaddress
m_iprulelist.GetItemText row 7 dText.srcStartPort dText.srcEndPort else GetDlgItemTextIDC_DESCRIPTIONdText.description ///////////////////得到ICMP的详细
信息 currRules-setPosrow1 //置规则链
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
当前指针
ifdText.protocolm_iprulelist.GetItemText row 3 ICMP currRules-getItemicRule CString temp temp.FormatdicRule-code dText.icmpCode temp
temp.FormatdicRule-type dText.icmpType temp m_editDlg.dText dText //显示在
eidtIpRule对话框里 ifm_editDlg.DoModal IDOK dText m_editDlg.dText //得到
eidtIpRule对话框里的内容 //名称 m_iprulelist.SetItemTextrow1dText.name ////动作
/////////////////////////// m_iprulelist.SetItemTextrow2dText.action //协议
///////////////////////////////////// m_iprulelist.SetItemTextrow3dText.protocol //方向
m_iprulelist.SetItemTextrow4dText.direction //IP段////////////////////////////////////////////////// ifdText.destStartIp 0 dText.destEndIp 0 m_iprulelist.SetItemTextrow5任意 else
address.Formats--sinet_ntoain_addrdText.destStartIp 作者 ministar 2005-6-25 23:05 回
复此发言 -------------------------------------------------------------------------------- 2 防火墙
代码 inet_ntoain_addrdText.destEndIp m_iprulelist.SetItemTextrow5address ///端口
//////////////////////// ifdText.protocol ICMP m_iprulelist.SetItemTextrow6 else ifdText.destStartPort dText.destEndPort m_iprulelist.SetItemTextrow6任意 else
address.Formats--sdText.destStartPortdText.destEndPort
m_iprulelist.SetItemTextrow6address ifdText.srcStartPort dText.srcEndPort m_iprulelist.SetItemTextrow7任意 else
address.Formats--sdText.srcStartPortdText.srcEndPort
m_iprulelist.SetItemTextrow7address //描述///////////////////////////
SetDlgItemTextIDC_DESCRIPTIONdText.description void IpRule::OnBaddip EditIPRule m_editDlg int row DialogText dText CString address row m_iprulelist.GetItemCount row-- ifm_editDlg.DoModal IDOK dText
m_editDlg.dText //得到eidtIpRule对话框里的内容 //名称
m_iprulelist.SetItemTextrow1dText.name ////动作///////////////////////////
m_iprulelist.SetItemTextrow2dText.action //协议/////////////////////////////////////
m_iprulelist.SetItemTextrow3dText.protocol //方向
m_iprulelist.SetItemTextrow4dText.direction //IP段////////////////////////////////////////////////// ifdText.destStartIp 0 dText.destEndIp 0 m_iprulelist.SetItemTextrow5任意 else
address.Formats--sinet_ntoain_addrdText.destStartIp inet_ntoain_addrdText.destEndIp m_iprulelist.SetItemTextrow5address ///端口//////////////////////// ifdText.protocol ICMP m_iprulelist.SetItemTextrow6 else ifdText.destStartPort dText.destEndPort m_iprulelist.SetItemTextrow6任意 else
address.Formats--sdText.destStartPortdText.destEndPort
m_iprulelist.SetItemTextrow6address ifdText.srcStartPort dText.srcEndPort m_iprulelist.SetItemTextrow7任意 else
address.Formats--sdText.srcStartPortdText.srcEndPort
m_iprulelist.SetItemTextrow7address //描述///////////////////////////
SetDlgItemTextIDC_DESCRIPTIONdText.description HBRUSH
IpRule::OnCtlColorCDC pDC CWnd pWnd UINT nCtlColor HBRUSH hbr
CDialog::OnCtlColorpDC pWnd nCtlColor // TODO: Change any attributes of the DC here ifnCtlColor CTLCOLOR_DLG CTLCOLOR_STATIC CTLCOLOR_BTN
pDC-SetBkColorRGB242246250 return m_hDLGBKBrush // TODO: Return a different brush if the default is not desired return hbr int IpRule::WriteDefaultRule int num 0 ifrlFile.Openrulerule.rl CFile::modeReadWrite CFile::typeBinary CFile::shareExclusive 0 MessageBoxcant open rule file return false int count 7//规
则数 ICMP_ITEM rl7 作者 ministar 2005-6-25 23:05 回复此发言
-------------------------------------------------------------------------------- 3 防火墙代码
rlFile.Writecount4 //rule 1 rl0.num 1 rl0.use 0 strcpyrl0.name允许自己用ping探测其
他机器 rl0.Proto 1 rl0.destStartIp inet_addr0.0.0.0 rl0.destEndIp inet_addr0.0.0.0 rl0.type 8 rl0.code 0 rl0.direction 2 rl0.action 1 strcpyrl0.description //rule 2 rl1.num 2 rl1.use 0 strcpyrl1.name允许路由器返回“超时”的ICMP回应包 rl1.Proto
1 rl1.destStartIp inet_addr0.0.0.0 rl1.destEndIp inet_addr0.0.0.0 rl1.type 11 rl1.code 0 rl1.direction 1 rl1.action 1 strcpyrl1.description //rule 3 rl2.num 3 rl2.use 0 strcpyrl2.name允许路由器返回“无法到达”的ICMP回应包 rl2.Proto 1 rl2.destStartIp
inet_addr0.0.0.0 rl2.destEndIp inet_addr0.0.0.0 rl2.type 3 rl2.code 0 rl2.direction 1 rl2.action 1 strcpyrl2.description //rule 4 rl3.num 4 rl3.use 0 strcpyrl3.name允许
其他机器用ping探测 rl3.Proto 1 rl3.destStartIp inet_addr0.0.0.0 rl3.destEndIp inet_addr0.0.0.0 rl3.type 0 rl3.code 0 rl3.direction 1 rl3.action 1 strcpyrl3.description //rule 5 rl4.num 5 rl4.use 1 strcpyrl4.name禁止所有ICMP包
rl4.Proto 1 rl4.destStartIp inet_addr0.0.0.0 rl4.destEndIp inet_addr0.0.0.0 rl4.type 0 rl4.code 0 rl4.direction 1 rl4.action 1 strcpyrl4.description //rule 6 rl5.num 6 rl5.use 1 strcpyrl5.name禁止所有TCP包 rl5.Proto 6 rl5.destStartIp
inet_addr0.0.0.0 rl5.destEndIp inet_addr0.0.0.0 rl5.type 0 rl5.code 0 rl5.direction 1 rl5.action 1 strcpyrl5.description //rule 7 rl6.num 6 rl6.use 1 strcpyrl6.name禁止
所有UDP包 rl6.Proto 17 rl6.destStartIp inet_addr0.0.0.0 rl6.destEndIp inet_addr0.0.0.0 rl6.type 0 rl6.code 0 rl6.direction 1 rl6.action 1 strcpyrl6.description //写入 rlFile.Writerl2727 rlFile.Close return 0 BOOL
IpRule::WriteRuleCString fileName TU_ITEM rl //返回值代表成功与否 return true
BOOL IpRule::WriteRuleCString fileName ICMP_ITEM rl //返回值代表成功与否
return true int IpRule::ReadRuleCString fileName int counti BYTE protocol pos 0 ifrlFile.OpenfileName CFile::modeReadWrite CFile::typeBinary CFile::shareExclusive 0 MessageBoxcant open rule file return false ICMP_ITEM icItem TU_ITEM tuItem char buffer272 rlFile.SeekToBegin //到文件头 //CString t rlFile.Readcount4 //读取规则
数目 pRule passRule malloccountsizeofpassRule //分配buffer //t.Formatcount:da
//AfxMessageBoxt //读入规则链表并初始化passRule//////////////////////////////////////// currRules new CRule 作者 ministar 2005-6-25 23:05 回复此发言
-------------------------------------------------------------------------------- 4 防火墙代码
fori0iuse //存到下传规则buffer中 pRulei.Proto icItem-Proto pRulei.destStartIp
icItem-destStartIp pRulei.destEndIp icItem-destEndIp pRulei.srcStartPort 0 pRulei.srcEndPort 0 pRulei.destStartPort 0 pRulei.destEndPort 0 currRules-appendicItem // / else rlFile.Seek-5CFile::current rlFile.Readbuffer280 //tuItem TU_ITEM buffer m_iprulelist.InsertItempos //icItem ICMP_ITEM buffer //m_iprulelist.SetItemTextpos1tuItem-name AddToListtuItem iftuItem-use //存到下传规
则buffer中 pRulei.Proto tuItem-Proto pRulei.destStartIp tuItem-destStartIp pRulei.destEndIp tuItem-destEndIp pRulei.srcStartPort tuItem-srcStartPort pRulei.srcEndPort tuItem-srcEndPort pRulei.destStartPort tuItem-destStartPort pRulei.destEndPort tuItem-destEndPort currRules-appendtuItem / /CString temp temp.FormatdpRulei.destStartIp AfxMessageBoxtemp/ //MessageBoxt rlFile.Close return 0 void IpRule::AddToListICMP_ITEM item CString address ///IPPORT m_iprulelist.InsertItempos m_iprulelist.SetItemTextpos1item-name //是否启用
///////////////////////////////// ifitem-use ListView_SetCheckStatem_iprulelist.m_hWndpostrue ////动作/////////////////////////// ifitem-action 1 m_iprulelist.SetItemTextpos2放行 else
m_iprulelist.SetItemTextpos2禁行 //协议///////////////////////////////////// ifitem-Proto 1 m_iprulelist.SetItemTextpos3ICMP else ifitem-Proto 6
m_iprulelist.SetItemTextpos3TCP else ifitem-Proto 17
m_iprulelist.SetItemTextpos3UDP //方向///////////////////////////////////////////////
ifitem-direction 1 m_iprulelist.SetItemTextpos4传出 else ifitem-direction 0
m_iprulelist.SetItemTextpos4传入 else m_iprulelist.SetItemTextpos4出入 //IP段
////////////////////////////////////////////////// ifitem-destStartIp 0 m_iprulelist.SetItemTextpos5任
意 else address.Formats--sinet_ntoain_addritem-destStartIp
inet_ntoain_addritem-destEndIp m_iprulelist.SetItemTextpos5address //描述
/////////////////////////// SetDlgItemTextIDC_DESCRIPTIONitem-description pos void IpRule::AddToListTU_ITEM item CString address ///IPPORT
m_iprulelist.InsertItempos m_iprulelist.SetItemTextpos1item-name //是否启用
///////////////////////////////// ifitem-use ListView_SetCheckStatem_iprulelist.m_hWndpostrue
////动作/////////////////////////// ifitem-action 1 m_iprulelist.SetItemTextpos2放行 else
m_iprulelist.SetItemTextpos2禁行 //协议///////////////////////////////////// ifitem-Proto 1 m_iprulelist.SetItemTextpos3ICMP else ifitem-Proto 6 m_iprulelist.SetItemTextpos3TCP else ifitem-Proto 17 m_iprulelist.SetItemTextpos3UDP //方向/////////////////////////////////////////////// ifitem-direction 1 m_iprulelist.SetItemTextpos4传出 else ifitem-direction 0
m_iprulelist.SetItemTextpos4传入 else m_iprulelist.SetItemTextpos4出入 //IP段
////////////////////////////////////////////////// ifitem-destStartIp 0 m_iprulelist.SetItemTextpos5任
意 else address.Formats--sinet_ntoain_addritem-destStartIp inet_ntoain_addritem-destEndIp m_iprulelist.SetItemTextpos5address //端口
//////////////////////////////////////////////// ifitem-destEndPort 0 m_iprulelist.SetItemTextpos6任
意 else address.Formatd--ditem-destStartPortitem-destEndPort m_iprulelist.SetItemTextpos6address ifitem-srcEndPort 0 m_iprulelist.SetItemTextpos7任意 else
address.Formatd--ditem-srcStartPortitem-srcEndPort m_iprulelist.SetItemTextpos7address //描述///////////////////////////
SetDlgItemTextIDC_DESCRIPTIONitem-description pos