锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
Note that for these to work, the control must have the "LVS_REPORT" style. For list controls in dialogs, including dialogs for CFormView, this style can be set in the dialog editor. If you are using CListView or you are creating list controls using Create, the style can be set in a PreCreateWindow override, as in:
Getting a Count of Columns
Deleting All Columns
Using GetColumnsCount() from above, it is easy to delete all columns.
Microsoft has made things very confusing because the Platform SDK name for a listbox is "ListBox Control" but MFC programmers usually use "list control" to refer to an instance of the CListCtrl class, which is confusing. Also, the MFC class name for a "List View Control" is CListCtrl and CListView is the view class for it. The MFC class name for a "ListBox Control" is CListBox so we would expect the view class for it to also be CListView except there is not a view class. The following summarizes this.
Platform SDK name:List Boxes
Window class name: ListBox (See under "Predefined Controls" in User Controls and the documentation for CreateWindow and CreateWindowEx)
MFC class name:CListBox
MFC view class name: none
Platform SDK name:ListView Control
Window class name: SysListView32 (use WC_LISTVIEW in source code instead, which is defined as "SysListView32")
MFC class name:CListCtrl
MFC view class name:CListView
緇撴瀯浣撳榻愮殑鍏蜂綋鍚箟錛?pragma pack錛?/p>
浣滆咃細panic2005騫?鏈?鏃?/p>
榪樻槸鏉ヨ嚜csdn鐨勫笘瀛愶細
涓匯銆棰橈細 聽聽鎺㈣錛氬唴瀛樺榻?br />浣溿銆鑰咃細 聽聽typedef_chen ((鍚嶆湭瀹?(鎴戣楠椾漢))
絳夈銆綰э細 聽聽
淇?瑾?鍊鹼細 聽聽100
鎵灞炶鍧涳細 聽聽C/C++ C++ 璇█
闂鐐規暟錛?聽聽50
鍥炲嬈℃暟錛?聽聽1
鍙戣〃鏃墮棿錛?聽聽2005-04-02 22:53:27
聽聽
聽聽
鏈嬪弸甯栦簡濡備笅涓孌典唬鐮侊細
銆銆#pragma pack(4)
銆銆class TestB
銆銆{
銆銆public:
銆銆銆銆int aa;
銆銆銆銆char a;
銆銆銆銆short b;
銆銆銆銆char c;
銆銆};
銆銆int nSize = sizeof(TestB);
銆銆榪欓噷nSize緇撴灉涓?2錛屽湪棰勬枡涔嬩腑銆?/p>
銆銆鐜板湪鍘繪帀絎竴涓垚鍛樺彉閲忎負濡備笅浠g爜錛?br />銆銆#pragma pack(4)
銆銆class TestC
銆銆{
銆銆public:
銆銆銆銆char a;
銆銆銆銆short b;
銆銆銆銆char c;
銆銆};
銆銆int nSize = sizeof(TestC);
銆銆鎸夌収姝e父鐨勫~鍏呮柟寮弉Size鐨勭粨鏋滃簲璇ユ槸8錛屼負浠涔堢粨鏋滄樉紺簄Size涓?鍛紵
浜嬪疄涓婏紝寰堝浜哄#pragma pack鐨勭悊瑙f槸閿欒鐨勩?br />#pragma pack瑙勫畾鐨勫榻愰暱搴︼紝瀹為檯浣跨敤鐨勮鍒欐槸錛?br />緇撴瀯錛岃仈鍚堬紝鎴栬呯被鐨勬暟鎹垚鍛橈紝絎竴涓斁鍦ㄥ亸縐諱負0鐨勫湴鏂癸紝浠ュ悗姣忎釜鏁版嵁鎴愬憳鐨勫榻愶紝鎸夌収#pragma pack鎸囧畾鐨勬暟鍊煎拰榪欎釜鏁版嵁鎴愬憳鑷韓闀垮害涓紝姣旇緝灝忕殑閭d釜榪涜銆?br />涔熷氨鏄錛屽綋#pragma pack鐨勫肩瓑浜庢垨瓚呰繃鎵鏈夋暟鎹垚鍛橀暱搴︾殑鏃跺欙紝榪欎釜鍊肩殑澶у皬灝嗕笉浜х敓浠諱綍鏁堟灉銆?br />鑰岀粨鏋勬暣浣撶殑瀵歸綈錛屽垯鎸夌収緇撴瀯浣撲腑鏈澶х殑鏁版嵁鎴愬憳 鍜?#pragma pack鎸囧畾鍊?涔嬮棿錛岃緝灝忕殑閭d釜榪涜銆?br />
鍏蜂綋瑙i噴
#pragma pack(4)
銆銆class TestB
銆銆{
銆銆public:
銆銆銆銆int aa; //絎竴涓垚鍛橈紝鏀懼湪[0,3]鍋忕Щ鐨勪綅緗紝
銆銆銆銆char a; //絎簩涓垚鍛橈紝鑷韓闀夸負1錛?pragma pack(4),鍙栧皬鍊鹼紝涔熷氨鏄?錛屾墍浠ヨ繖涓垚鍛樻寜涓瀛楄妭瀵歸綈錛屾斁鍦ㄥ亸縐籟4]鐨勪綅緗?br />銆銆銆銆short b; //絎笁涓垚鍛橈紝鑷韓闀?錛?pragma pack(4)錛屽彇2錛屾寜2瀛楄妭瀵歸綈錛屾墍浠ユ斁鍦ㄥ亸縐籟6,7]鐨勪綅緗?br />銆銆銆銆char c; //絎洓涓紝鑷韓闀夸負1錛屾斁鍦╗8]鐨勪綅緗?br />銆銆};
榪欎釜綾誨疄闄呭崰鎹殑鍐呭瓨絀洪棿鏄?瀛楄妭
綾諱箣闂寸殑瀵歸綈錛屾槸鎸夌収綾誨唴閮ㄦ渶澶х殑鎴愬憳鐨勯暱搴︼紝鍜?pragma pack瑙勫畾鐨勫間箣涓緝灝忕殑涓涓榻愮殑銆?br />鎵浠ヨ繖涓緥瀛愪腑錛岀被涔嬮棿瀵歸綈鐨勯暱搴︽槸min(sizeof(int),4)錛屼篃灝辨槸4銆?br />9鎸夌収4瀛楄妭鍦嗘暣鐨勭粨鏋滄槸12錛屾墍浠izeof(TestB)鏄?2銆?/p>
濡傛灉
#pragma pack(2)
聽聽聽 class TestB
銆銆{
銆銆public:
銆銆銆銆int aa; //絎竴涓垚鍛橈紝鏀懼湪[0,3]鍋忕Щ鐨勪綅緗紝
銆銆銆銆char a; //絎簩涓垚鍛橈紝鑷韓闀夸負1錛?pragma pack(4),鍙栧皬鍊鹼紝涔熷氨鏄?錛屾墍浠ヨ繖涓垚鍛樻寜涓瀛楄妭瀵歸綈錛屾斁鍦ㄥ亸縐籟4]鐨勪綅緗?br />銆銆銆銆short b; //絎笁涓垚鍛橈紝鑷韓闀?錛?pragma pack(4)錛屽彇2錛屾寜2瀛楄妭瀵歸綈錛屾墍浠ユ斁鍦ㄥ亸縐籟6,7]鐨勪綅緗?br />銆銆銆銆char c; //絎洓涓紝鑷韓闀夸負1錛屾斁鍦╗8]鐨勪綅緗?br />銆銆};
//鍙互鐪嬪嚭錛屼笂闈㈢殑浣嶇疆瀹屽叏娌℃湁鍙樺寲錛屽彧鏄被涔嬮棿鏀逛負鎸?瀛楄妭瀵歸綈錛?鎸?鍦嗘暣鐨勭粨鏋滄槸10銆?br />//鎵浠?sizeof(TestB)鏄?0銆?/p>
鏈鍚庣湅鍘熻創錛?br />鐜板湪鍘繪帀絎竴涓垚鍛樺彉閲忎負濡備笅浠g爜錛?br />銆銆#pragma pack(4)
銆銆class TestC
銆銆{
銆銆public:
銆銆銆銆char a;//絎竴涓垚鍛橈紝鏀懼湪[0]鍋忕Щ鐨勪綅緗紝
銆銆銆銆short b;//絎簩涓垚鍛橈紝鑷韓闀?錛?pragma pack(4)錛屽彇2錛屾寜2瀛楄妭瀵歸綈錛屾墍浠ユ斁鍦ㄥ亸縐籟2,3]鐨勪綅緗?br />銆銆銆銆char c;//絎笁涓紝鑷韓闀夸負1錛屾斁鍦╗4]鐨勪綅緗?br />銆銆};
//鏁翠釜綾葷殑澶у皬鏄?瀛楄妭錛屾寜鐓in(sizeof(short),4)瀛楄妭瀵歸綈錛屼篃灝辨槸2瀛楄妭瀵歸綈錛岀粨鏋滄槸6
//鎵浠izeof(TestC)鏄?銆?br />
鎰熻阿Michael 鎻愬嚭鐤戦棶錛屽湪姝よˉ鍏咃細
褰撴暟鎹畾涔変腑鍑虹幇__declspec(聽align()聽)鏃訛紝鎸囧畾綾誨瀷鐨勫榻愰暱搴﹁繕瑕佺敤鑷韓闀垮害鍜岃繖閲屾寚瀹氱殑鏁板兼瘮杈冿紝鐒跺悗鍙栧叾涓緝澶х殑銆傛渶緇堢被/緇撴瀯鐨勫榻愰暱搴︿篃闇瑕佸拰榪欎釜鏁板兼瘮杈冿紝鐒跺悗鍙栧叾涓緝澶х殑銆?/strong>
鍙互榪欐牱鐞嗚В錛?!--StartFragment --> __declspec(聽align()聽) 鍜?#pragma pack鏄竴瀵瑰厔寮燂紝鍓嶈呰瀹氫簡瀵歸綈鐨勬渶灝忓鹼紝鍚庤呰瀹氫簡瀵歸綈鐨勬渶澶у鹼紝涓よ呭悓鏃跺嚭鐜版椂錛屽墠鑰呮嫢鏈夋洿楂樼殑浼樺厛綰с?br />__declspec(聽align()聽)鐨勪竴涓壒鐐規槸錛屽畠浠呬粎瑙勫畾浜嗘暟鎹榻愮殑浣嶇疆錛岃屾病鏈夎瀹氭暟鎹疄闄呭崰鐢ㄧ殑鍐呭瓨闀垮害錛屽綋鎸囧畾鐨勬暟鎹鏀劇疆鍦ㄧ‘瀹氱殑浣嶇疆涔嬪悗錛屽叾鍚庣殑鏁版嵁濉厖浠嶇劧鏄寜鐓?pragma pack瑙勫畾鐨勬柟寮忓~鍏呯殑錛岃繖鏃跺欑被/緇撴瀯鐨勫疄闄呭ぇ灝忓拰鍐呭瓨鏍煎眬鐨勮鍒欐槸榪欐牱鐨勶細
鍦╛_declspec(聽align()聽)涔嬪墠錛屾暟鎹寜鐓?pragma pack瑙勫畾鐨勬柟寮忓~鍏咃紝濡傚墠鎵榪般傚綋閬囧埌__declspec(聽align()聽)鐨勬椂鍊欙紝棣栧厛瀵繪壘璺濈褰撳墠鍋忕Щ鍚戝悗鏈榪戠殑瀵歸綈鐐癸紙婊¤凍瀵歸綈闀垮害涓簃ax(鏁版嵁鑷韓闀垮害,鎸囧畾鍊? )錛岀劧鍚庢妸琚寚瀹氱殑鏁版嵁綾誨瀷浠庤繖涓偣寮濮嬪~鍏咃紝鍏跺悗鐨勬暟鎹被鍨嬩粠瀹冪殑鍚庨潰寮濮嬶紝浠嶇劧鎸夌収#pragma pack濉厖錛岀洿鍒伴亣鍒頒笅涓涓猒_declspec(聽align()聽)銆?br />褰撴墍鏈夋暟鎹~鍏呭畬姣曪紝鎶婄粨鏋勭殑鏁翠綋瀵歸綈鏁板煎拰__declspec(聽align()聽)瑙勫畾鐨勫煎仛姣旇緝錛屽彇鍏朵腑杈冨ぇ鐨勪綔涓烘暣涓粨鏋勭殑瀵歸綈闀垮害銆?br />鐗瑰埆鐨勶紝褰揰_declspec(聽align()聽)鎸囧畾鐨勬暟鍊兼瘮瀵瑰簲綾誨瀷闀垮害灝忕殑鏃跺欙紝榪欎釜鎸囧畾涓嶈搗浣滅敤銆?/p>
]]>
聽聽 It is assumed that the readers of the sample have already created a dialog box (either in a dialog based application or SDI/MDI application) and placed a combo box control from the controls toolbox on the Resource Editor.
聽聽 After placing the combo box control on the dialog box, open the class wizard by pressing Ctrl + W keys or Menu --> View --> ClassWizard. In the Member Variables tab, Add a Variable for the CComboBox class. This CComboBox example assumes that the variable name is,
聽聽聽聽聽 CComboBox聽 m_cbExample;
聽聽 This m_cbExample will be used further in our CComboBox example MFC code.
聽聽 The function AddString is used for adding items to a combo box. If there is a constant set of data, these values can also be added in the Resource Editor itself. The Combo Box control properties dialog has a tab for adding data. Otherwise the data can be added as follows.
聽聽聽 m_cbExample.AddString("StringData1");
聽聽聽 m_cbExample.AddString("StringData2");
聽聽聽 m_cbExample.AddString("StringData3");
聽聽 Usually 聽聽 To do this, the first step is to find out the index of the selected item inside the combo box control. 聽聽 The string position inside the combo box control is the return value. It returns CB_ERR if it was unsuccessful in finding the string.
a requirement for retrieving items from the combo box will arise from selecting the data. This article also assumes the same. Now the data selected in a combo box needs to be retrieved.
Then the item at the corresponding position needs to be pulled out as follows.
聽聽聽 int nIndex = m_cbExample.GetCurSel();
聽聽聽 CString strCBText;
聽聽聽 m_cbExample.GetLBText(
nIndex, strCBText);
聽聽 In the above CComboBox example code, the value will be retrieved and stored in strCBText variable. There is another overloaded version for GetLBText. But the version which uses CString is the easiest one.
CComboBox Example - Finding Items inside a Combo Box:
聽聽 This kind of Find operations on a Combo box will most probably be useful in programs that dynamically modify the values in a combo box. The function FindStringExact is used to find the exact string match inside a combo box.
聽聽聽 int nIndex = m_cbExample.FindStringExact(0, "Value to be found");CComboBox Example - Deleting Items from a Combo Box:
聽聽聽 This operation can be done by using the CCombobox member function DeleteString. This function needs the index of the item inside the combo box.
聽聽聽聽 m_cbExample
.DeleteString(nIndex);
1錛夊崟琛屾敞閲娿傛牸寮忥細// Comments
2錛夊琛屾敞閲娿傛牸寮忥細/* Comments... */
C#寮曞叆浜嗘柊鐨刋ML娉ㄩ噴錛屽嵆鎴戜滑鍦ㄦ煇涓嚱鏁板墠鏂拌搗涓琛岋紝杈撳叆///錛孷S.Net浼氳嚜鍔ㄥ鍔燲ML鏍煎紡鐨勬敞閲婏紝榪欓噷鏁寸悊涓涓嬪彲鐢ㄧ殑XML娉ㄩ噴銆?/p>
XML娉ㄩ噴鍒嗕負涓綰ф敞閲婏紙Primary Tags錛夊拰浜岀駭娉ㄩ噴錛圫econdary Tags錛夛紝鍓嶈呭彲浠ュ崟鐙瓨鍦紝鍚庤呭繀欏誨寘鍚湪涓綰ф敞閲婂唴閮ㄣ?/p>
I 涓綰ф敞閲?/p>
1. <remarks>瀵圭被鍨嬭繘琛屾弿榪幫紝鍔熻兘綾諱技<summary>錛屾嵁璇村緩璁嬌鐢?lt;remarks>;
2. <summary>瀵瑰叡鏈夌被鍨嬬殑綾匯佹柟娉曘佸睘鎬ф垨瀛楁榪涜娉ㄩ噴錛?/p>
3. <value>涓昏鐢ㄤ簬灞炴х殑娉ㄩ噴錛岃〃紺哄睘鎬х殑鍒剁殑鍚箟錛屽彲浠ラ厤鍚?lt;summary>浣跨敤錛?/p>
4. <param>鐢ㄤ簬瀵規柟娉曠殑鍙傛暟榪涜璇存槑錛屾牸寮忥細<param name="param_name">value</param>錛?/p>
5. <returns>鐢ㄤ簬瀹氫箟鏂規硶鐨勮繑鍥炲鹼紝瀵逛簬涓涓柟娉曪紝杈撳叆///鍚庯紝浼氳嚜鍔ㄦ坊鍔?lt;summary>銆?lt;param>鍒楄〃鍜?lt;returns>錛?/p>
6. <exception>瀹氫箟鍙兘鎶涘嚭鐨勫紓甯革紝鏍煎紡錛?lt;exception cref="IDNotFoundException">錛?/p>
7. <example>鐢ㄤ簬緇欏嚭濡備綍浣跨敤鏌愪釜鏂規硶銆佸睘鎬ф垨鑰呭瓧孌電殑浣跨敤鏂規硶錛?/p>
8. <permission>娑夊強鏂規硶鐨勮闂鍙紱
9. <seealso>鐢ㄤ簬鍙傝冩煇涓叾瀹冪殑涓滀笢:)錛屼篃鍙互閫氳繃cref璁劇疆灞炴э紱
10. <include>鐢ㄤ簬鎸囩ず澶栭儴鐨刋ML娉ㄩ噴錛?/p>
II 浜岀駭娉ㄩ噴
1. <c> or <code>涓昏鐢ㄤ簬鍔犲叆浠g爜孌碉紱
2. <para>鐨勪綔鐢ㄧ被浼糎TML涓殑<p>鏍囪絎︼紝灝辨槸鍒嗘錛?/p>
3. <pararef>鐢ㄤ簬寮曠敤鏌愪釜鍙傛暟錛?/p>
4. <see>鐨勪綔鐢ㄧ被浼?lt;seealso>錛屽彲浠ユ寚紺哄叾瀹冪殑鏂規硶錛?/p>
5. <list>鐢ㄤ簬鐢熸垚涓涓垪琛紱
鍙﹀錛岃繕鍙互鑷畾涔塜ML鏍囩銆?/p>
鍛靛懙錛岄氳繃鍦ㄥ伐紼嬬殑灞炴т腑璁劇疆 XML Documentation File鐨勬枃浠跺悕錛屽嵆鍙敓鎴恱ml鏍煎紡鐨勬枃浠躲?/p>
鍙﹀榪樻湁涓涓湁鐢ㄧ殑宸ュ叿鍙玁Doc錛屽彲浠ユ牴鎹繖浜涙敞閲婄敓鎴愬府鍔╂枃浠訛紝寰堝ソ浣褲備絾鏄ソ鍍忎笉鏀寔Vs.net 2005銆?/p>
鏈ㄩ┈瀹㈡埛绔笌鏈嶅姟绔氳濡備綍闅愯棌涓嶈鍙戠幇
涓涓垚鍔熺殑鏈ㄩ┈蹇呴』瀹炵幇涓縐嶆棦鍙潬錛屽張涓嶆槗琚涓誨彂鐜扮殑閫氳鏂規錛屼笅闈㈠湪鎴戞墍鐭ョ殑鑼冨洿鍐呭鍚勭鏂規鐨勫疄鐜版柟娉曪紝鍙潬鎬э紝瀹夊叏鎬у仛涓浜涙帰璁ㄣ傛枃涓敊璇箣澶勪竴瀹氬緢澶氾紝嬈㈣繋澶у鎸囧嚭錛屾洿甯屾湜鑳芥湁鏈ㄩ┈寮鍙戠粡楠岀殑楂樻墜鍐欎竴浜涜繖鏂歸潰鐨勬枃绔狅紝鑳借涓嶇鏄粦瀹紝榪樻槸鏅氱敤鎴鳳紝閮藉緱鍒頒竴瀹氱殑鎻愰珮銆傝嚦浜庝粈涔堣鍛婄殑鎴戜篃涓嶅璇翠簡錛屽弽姝g湅浜嗘枃绔犱綘鍘誨仛鍧忎簨涓庢垜鏄鏃犲叧緋葷殑銆備笅闈㈣繘鍏ユ棰樸?
銆銆棣栧厛搴旇鏄庣‘鐨勬槸鍙楀鑰呯殑鏈哄櫒涓婅繍琛岀殑鏈ㄩ┈紼嬪簭鎴戜滑縐頒箣涓烘湇鍔$錛屾帶鍒惰呮満鍣ㄤ笂榪愯鐨勬垜浠О涔嬩負瀹㈡埛绔?鍏跺疄瀵逛簬鐜頒唬鐨勬湪椹紝宸茬粡寰堥毦璇磋皝鏄鎴鳳紝璋佹槸鏈嶅姟浜嗭紝涓嶈繃鎴戜滑榪樻槸緇х畫鐢ㄨ繖縐嶅彨娉?銆傚彟澶栬櫧鐒禬indows9x浠嶇劧鏈夊法澶х殑鐢ㄦ埛鍩虹錛屼絾鏄疻indows9x鍚慦indows XP榪佸緳鍙槸鏃╂櫄闂錛屾墍浠ヨ繖閲岀殑璁ㄨ涓昏鏄拡瀵筃T/2000/XP騫沖彴鐨勩?/p> 銆銆1.浣跨敤TCP鍗忚錛屾湇鍔$渚﹀惉錛屽鎴風榪炴帴 銆銆榪欐槸鏈綆鍗曪紝鏈鏃╋紝鏈騫挎硾浣跨敤鐨勪竴縐嶉氳鏂規銆備嬌鐢ㄨ繃鍐版渤鎴栬呰鍐版渤瀹㈡埛绔壂榪囩殑瀵規涓瀹氫笉浼氶檶鐢熴傝繖縐嶉氳鏂規鏄湇鍔$鍦ㄥ涓繪満鍣ㄤ笂寮涓涓猅CP绔彛錛岀劧鍚庣瓑寰呭鎴風鐨勮繛鎺ワ紝鍦ㄩ氳繃瀵瑰鎴風鐨勮璇佸悗錛屽鎴風灝卞彲浠ユ帶鍒舵湇鍔$浜嗐傜敱浜庢槸寤虹珛鍦═CP鍗忚鍩虹涓婏紝鎵浠ラ氳鐨勫彲闈犳ф槸寰楀埌淇濊瘉鐨勩備絾鏄氳鐨勫畨鍏ㄦу嵈寰堟垚闂銆傞鍏堬紝浣跨敤鍍廸port,tcpview pro榪欐牱鐨勫伐鍏峰彲浠ュ緢瀹規槗鐨勫彂鐜板湪鏌愪竴绔彛涓婁睛鍚殑榪涚▼錛屼互鍙婅繘紼嬪搴旂殑鍙墽琛屾枃浠躲傚叾嬈★紝鍦ㄥ畨瑁呬簡闃茬伀澧欑殑鏈哄櫒涓婏紝褰撳鎴風榪炴帴鍒版湇鍔$鏃訛紝寰堝鏄撳紩璧烽槻鐏鎶ヨ銆?/p> 銆銆2.浣跨敤TCP鍗忚錛屽鎴風渚﹀惉錛屾湇鍔$榪炴帴 銆銆榪欏氨鏄墍璋撶殑鍙嶅悜榪炴帴鎶鏈簡銆備負浜嗗厠鏈嶆湇鍔$鍦ㄦ煇涓绔彛涓婁睛鍚槗琚彂鐜拌繖涓緙虹偣錛岀幇鍦ㄦ湇鍔$涓嶅啀渚﹀惉绔彛錛岃屾槸鍘昏繛鎺ュ鎴風鍦ㄤ睛鍚殑鏌愪竴绔彛銆傝繖鏍風敤涓鑸殑port scanner鎴栬協port灝卞緢鍙戠幇涓嶄簡鏈嶅姟绔簡銆傝屼負浜嗘洿濂界殑楹葷椆瀹夸富鏈猴紝瀹㈡埛绔睛鍚殑绔彛涓鑸槸21,80,23榪欑浠諱綍浜洪兘瑕佽闂殑绔彛銆傝櫧鐒跺湪瀹夎浜嗛槻鐏鐨勬満鍣ㄤ笂錛屾湇鍔$鍘昏繛鎺ュ鎴風榪樻槸瑕佸紩璧烽槻鐏鎶ヨ錛屼絾鏄竴涓矖蹇冪殑鐢ㄦ埛寰堝彲鑳戒細蹇界暐鈥滃簲鐢ㄧ▼搴弜xxxx璇曞浘璁塊棶xxx.xxx.xxx.xxx閫氳繃绔彛80鈥濊繖鏍風殑璀﹀憡銆?/p> 銆銆榪欑鍙嶅悜榪炴帴鎶鏈瑙e喅鐨勪竴涓棶棰樻槸錛屾湇鍔$濡備綍鎵懼埌瀹㈡埛绔傜敱浜庝竴鑸鎴風閮芥槸鎷ㄥ彿涓婄綉鐨勶紝娌℃湁涓涓浐瀹氱殑IP錛屾墍浠ュ鎴風IP涓嶅彲鑳界‖緙栫爜鍦ㄦ湇鍔$紼嬪簭涓傚綋鐒剁敱浜庢嫧鍙蜂笂緗戠敤鎴風殑IP涓鑸兘鏄浜庝竴涓浐瀹氱殑IP鍦板潃鑼冨洿鍐咃紝鏈嶅姟绔篃鍙互鎵弿榪欎釜鑼冨洿錛岀劧鍚庢牴鎹鎵弿涓繪満鐨勫弽棣堟潵紜畾鏄惁鏄嚜宸辯殑瀹㈡埛绔紝浣嗘槸鏈嶅姟绔壂鎻忎竴涓狪P鍦板潃鑼冨洿涔熷お鈥︹﹀彟涓涓柟娉曟槸瀹㈡埛绔氳繃涓涓湁鍥哄畾IP鎴栬呭浐瀹氬煙鍚嶇殑絎笁鏂瑰彂甯冭嚜宸辯殑IP錛屽疄鐜扮殑鏂規硶灝卞緢澶氫簡錛屾瘮濡傞氳繃涓涓叕鍏辯殑閭錛岄氳繃涓涓釜浜轟富欏碉紝灝辯湅浣犳湁澶氬ぇ鐨勬兂璞″姏鐨勩?/p> 銆銆3.浣跨敤UDP鍗忚錛屾湇鍔$渚﹀惉錛屽鎴風榪炴帴;瀹㈡埛绔睛鍚紝鏈嶅姟绔繛鎺?/strong> 銆銆鏂規硶鍜屽畨鍏ㄦт笌浣跨敤TCP鍗忚宸笉澶氥傞渶瑕佹敞鎰忕殑鏄疷DP涓嶆槸涓涓彲闈犵殑鍗忚錛屾墍浠ワ紝蹇呴』鍦║DP鍗忚鐨勫熀紜涓婅璁′竴涓嚜宸辯殑鍙潬鐨勬姤鏂囦紶閫掑崗璁?/p> 銆銆4.瑙e喅闃茬伀澧欓棶棰橈紝鏃犺鏄湇鍔$琚姩渚﹀惉錛岃繕鏄湇鍔$涓誨姩榪炴帴錛屽湪鏈嶅姟绔拰瀹㈡埛绔瘯鍥懼緩绔嬭繛鎺ユ椂閮戒細寮曡搗闃茬伀澧欏緱鎶ヨ 銆銆姣曠珶綺楀績寰楃敤鎴蜂笉浼氬緢澶氾紝鎵浠ワ紝瑙e喅闃茬伀澧欐姤璀︽槸鏈嶅姟绔繀欏昏瑙e喅鐨勪竴涓棶棰樸備竴縐嶆柟娉曟槸浠g爜娉ㄥ叆錛屾湇鍔$灝嗚嚜宸辨敞鍏ュ埌涓涓彲浠ュ悎娉曠殑涓庡鐣岃繘琛岀綉緇滈氳鐨勮繘紼?姣斿 IE, ICQ, OICQ, TELNTED, FTPD, IIS絳?鐨勫湴鍧絀洪棿涓紝鐒跺悗鎴栬呭彲浠ヤ互涓涓柊綰跨▼鐨勫艦寮忚繍琛岋紝鎴栬呭彧鏄慨鏀瑰涓昏繘紼嬶紝鎴幏瀹夸富榪涚▼鐨勭綉緇滅郴緇熻皟鐢?WinSock)銆傚悗鑰呯殑瀹炵幇鍙兘瑕侀夯鐑︿竴浜涖傚鏋滄槸浠ユ柊綰跨▼鐨勫艦寮忚繍琛岋紝閭d箞鐒跺悗鎴栬呭彲浠ヨ鍔ㄤ睛鍚紝鎴栬呭彲浠ヤ富鍔ㄨ繛鎺ャ?/p> 銆銆鏃犺鍝鎯呭喌閮戒笉浼氬紩璧烽槻鐏鐨勬姤璀?褰撶劧涓嶆槸鐧懼垎涔嬬櫨涓嶄細寮曡搗闃茬伀澧欐姤璀?銆備絾瑕佹敞鎰忕殑鏄鏋滄槸琚姩渚﹀惉鐨勮瘽錛屾瘮濡傚瘎鐢熷湪IE鍐咃紝鐢╢port浼氬彂鐜癐E鍦ㄦ煇涓涓鍙d睛鍚紝榪欐湁鍙兘浼氬紩璧風粏蹇冪殑鐢ㄦ埛鐨勮瑙夈傛墍浠ユ瘮杈冨ソ寰楁柟娉曟槸鍦ㄦ柊綰跨▼鍐呭幓涓誨姩榪炴帴瀹㈡埛绔紝鑰屼笖榪炵殑鏄鎴風鐨?0绔彛;濡傛灉鏄瘎鐢熷湪OICQ鍐咃紝浣曚笉榪炴帴瀹㈡埛绔殑8000绔彛銆備嬌鐢ㄤ唬鐮佹敞鍏ラ渶瑕佹湇鍔$鍏鋒湁鑻ュ共鐗規潈錛岃冭檻鍒頒竴鑸敤鎴烽兘鏄互Admin韜喚鍚姩NT鐨勶紝榪欏簲璇ヤ笉鏄竴涓棶棰?濡傛灉鏈嶅姟绔槸浣滀負涓涓猻ervice鍚姩鐨勮瘽錛屽氨鏇存病闂浜?銆?/p> 5.鍐嶈璁轟竴涓嬫湇鍔$涓誨姩榪炴帴鏃跺鎴風IP鐨勫叕甯冮棶棰?/strong> 銆銆浣跨敤絎笁鏂瑰叕甯冨鎴風IP涓嶆槸涓縐嶅彲闈犵殑鏂規硶銆傛瘮濡傚鏋滄槸閫氳繃涓涓釜浜轟富欏靛彂甯冨鎴風IP鐨勮瘽錛屼竴鏃︾敱浜庣縐嶅師鍥狅紝榪欎釜涓漢涓婚〉琚富欏墊彁渚涘晢鍙栨秷鐨勮瘽錛屾湇鍔$灝辨壘涓嶅埌瀹㈡埛绔簡銆傝岃繖縐嶄釜浜轟富欏佃涓婚〉鎻愪緵鍟嗗彇娑堢殑鍙兘鎬ф槸寰堝ぇ鐨勩傚悓鏃跺鎴風涔熻鍐掓毚闇茶嚜宸辯殑IP鐨勯闄┿傛墍浠ユ洿濂界殑鏂規硶鏄鎴風閫氳繃鏌愮鏂規硶涓誨姩鍛婅瘔鏈嶅姟绔嚜宸辯殑IP鍜岀鍙o紝鐒跺悗鏈嶅姟绔潵榪炴帴銆傝繖鏍峰彲浠ヤ繚璇佹渶澶х殑鍙潬鎬э紝瀹夊叏鎬у拰鐏墊椿鎬с?/p> 銆銆鏈嶅姟绔庝箞鏀跺埌瀹㈡埛绔殑閫氱煡鍛?涓縐嶆柟娉曟槸鎴戜滑鎴幏鍏朵粬榪涚▼鏀跺埌鐨凾CP鏁版嵁鎴栬匲DP鍖咃紝鐒跺悗鍒嗘瀽鎴幏鐨勬暟鎹紝浠庝腑紜畾鏄惁瀹㈡埛绔彂鏉ヤ簡涓涓姤鍛婂叾IP鐨勬暟鎹墖鏂傚彟涓縐嶆柟娉曟槸浣跨敤RAW socket鏉ユ敹鍚珽CHO REPLY綾誨瀷鐨処CMP鍖咃紝鍦↖CMP鏁版嵁鍖呯殑鏁版嵁鍘誨氨鍖呭惈浜嗗鎴風IP銆傝屽浜庢櫘閫氱敤鎴鋒潵璇達紝鐢變簬瑕佷笂緗戞祻瑙堬紝榪欐牱鐨処CMP鍖呮槸寰堝皯榪囨護鎺夌殑銆?/p> 銆銆6.鐢↖CMP鏉ラ氳 銆銆鏃㈢劧瀹㈡埛绔彲浠ラ氳繃鍙戜竴涓狪CMP(ECHO REPLY)鏉ュ憡璇夋湇鍔$瀹冪殑IP錛岄偅涓轟粈涔堜笉鎶婃墍鏈夋湇鍔$鍜屽鎴風鐨勯氳閮藉緩绔嬪湪ICMP鐨勫熀紜涓婂憿?鏈嶅姟绔悜瀹㈡埛绔彂ICMP(ECHO REQUEST)錛屽鎴風鍚戞湇鍔$鍙慖CMP(ECHO REPLY)錛岀劧鍚庡彲浠ュ湪ICMP鍩虹涓婂緩绔嬩竴涓嚜宸辯殑鍙潬鏁版嵁鎶ラ氳鍗忚銆傚鏋滀笉鎬曠儲鐨勮瘽錛岃繕鍙互寤虹珛涓涓猅CP over ICMP銆傜敱浜庝竴鑸殑鐢ㄦ埛榪欎袱綾籌CMP鍖呴兘鏄涓烘棤璀﹀憡鏀捐鐨勶紝榪欑鏂規硶鐨勯殣縐樻ц繕鏄緢寮虹殑銆?/p> 銆銆7. 鐢ㄨ嚜瀹氫箟鐨勫崗璁潵閫氳 銆銆鎴戜滑鐭ラ亾IP澶寸殑鍗忚瀛楁鎸囧畾浜嗚繖涓狪P鍖呮壙杞藉緱鏁版嵁鐨勫崗璁紝姣斿TCP,UDP,ICMP絳夌瓑銆傛垜浠畬鍏ㄥ彲浠ユ妸榪欎釜瀛楁璁句負鎴戜滑鑷繁瀹氫箟鐨勫???80)錛屽畾涔夎嚜宸辯殑閫氳鍗忚銆備笉榪囦及璁¤繖縐岻P鍖呭皢浼氳鎵鏈夌殑闃茬伀澧欒繃婊ゆ帀銆?/p> 銆銆8.鍏充簬鏈嶅姟鍣ㄤ笂鐨勬湪椹殑閫氳闅愯棌 銆銆鍓嶉潰鎵璇撮兘鏄拡瀵逛釜浜虹敤鎴?澶ч儴鍒嗛兘鏄嫧鍙風敤鎴鳳紝鍖呮嫭Modem,ISDN,ADSL,FTTX+LA,Cable Modem)銆傚榪欑被鏈哄櫒鏉ヨ錛屼竴鑸兘娌℃湁寮浠涔堟湇鍔★紝鑰屼笖涓鑸兘浣跨敤浜嗕釜浜洪槻鐏錛屽悓鏃禝CMP ECHO REPLY/REQUEST閮芥槸鏀捐鐨勶紝鎵鏈夋墠鏈夋垜浠笂榪扮殑鍚勭鏂規銆傝屽浜庢湇鍔″櫒鏉ヨ錛岃嚦灝戣寮HTTP鏈嶅姟錛屽悓鏃訛紝鍙堜竴鑸綅浜庝笓闂ㄧ殑闃茬伀澧欎箣鍚庛傝繖涓笓闂ㄧ殑闃茬伀澧欏緢鍙兘榪囨護鎺夐櫎綾誨瀷涓篢CP錛屼笖鐩殑绔彛涓?0鐨処P鍖呬箣澶栫殑鎵鏈夌殑IP鍖咃紝鏇翠笉瑕佽鍚勭被ICMP鍖呬簡銆傚悜涓嬬殑鏂規閫氫笉榪囷紝鎴戜滑鍙互璇曡瘯鍚戜笂鐨勬柟妗堛備竴縐嶆柟娉曞氨鏄敞灝勫埌IIS鏈嶅姟鐨勮繘紼嬬┖闂翠腑錛岀劧鍚庡湪IIS鎺ュ彈鍒版湪椹鎴風鐨勮姹傚墠鏉ヤ釜棰勫鐞嗭紝鍦↖IS灝嗘暟鎹彂緇欐湪椹鎴風鏃舵潵涓悗澶勭悊錛屼笉榪囨垜涓嶇煡閬撴庝箞瀹炵幇錛屼笉鐭ュ摢涓洪珮鎵嬬煡閬撱?/p> 銆銆鍙︿竴縐嶆柟娉曞氨鏄啓涓涓狪SAPI AP錛岃繖鏍鳳紝鏈ㄩ┈瀹㈡埛绔彂涓?http://xxx.xxx.xxx.xxx/backdoor.dll?cmd=dir+c: 璇鋒眰鏉ュ彂鍛戒護浜嗐傚綋鐒訛紝涓鍒囦俊鎭兘鏄姞瀵嗗緱銆俁PC闄や簡RPC over SMB,RPC over TCP絳夌瓑澶栵紝榪樻湁涓涓猂PC over HTTP錛屼簨瀹炰笂QQ鐨刪ttp浠g悊灝辨槸浠栬嚜宸卞畾涔夌殑涓涓猺pc over http錛岃嚦灝慟Q鑷繁鏄繖涔堝彨鐨勩傜幇鍦紝鎴戜滑涔熸潵浜嗕釜rpc over http銆?/p> 銆銆閫氳闅愯棌鎶鏈彧鏄湪椹殣钘忚鎶鏈腑寰椾竴閮ㄥ垎錛屼絾涔熸槸鏈閲嶈鐨勪竴閮ㄥ垎銆傚洜涓轟粬涓嶄絾瑕佷繚鎶ゆ湪椹紝榪樿淇濇姢鏈ㄩ┈寰楁帶鍒惰咃紝鎵浠ヤ笉綆℃槸鏈ㄩ┈緙栧啓鑰咃紝榪樻槸闃茬伀澧欑紪鍐欒咃紝閮藉簲璇ュ榪欎竴閮ㄥ垎緇欎簬瓚沖鐨勯噸瑙嗐?/p> |
璁茶В錛?/p>
銆銆Gauss 娑堝幓娉曟槸灝嗘柟紼嬬粍AX錛漛,閫氳繃娑堝厓杞寲涓轟笂涓夎鏂圭▼緇勶紙3錛?錛?錛夋眰瑙o紝娑堝厓絎竴姝ュ仛瀹屽悗鏈?br />銆銆銆銆銆銆銆銆銆
銆銆鐢ㄧ煩闃佃〃紺?img height="27" src="http://mclab.sysu.edu.cn/na/text/chap3/images/647.gif" width="341" align="absMiddle" />
銆銆絎琄錛?姝ュ畬鎴愬悗寰楀埌
銆銆褰?img height="23" src="http://mclab.sysu.edu.cn/na/text/chap3/images/649.gif" width="44" align="absMiddle" />錛屽彲鍋欿姝ワ紝寰楀埌
銆銆寰楀埌錛屽搴旂殑鏂圭▼緇勫氨鏄紙3.2.1錛夛紝鍒╃敤鍏紡錛?.2.4錛夊氨鍙眰寰楄В銆?br />銆銆瀹氱悊2.2緇欏嚭浜嗚繘琛岄『搴忔秷鍘繪硶鐨勬潯浠訛紝鍗矨鐨勬墍鏈夐『搴忕敓瀛愬紡
錛岃屾柟紼嬶紙3.1.1錛夎В瀛樺湪鍞竴鐨勬潯浠舵槸
濂戒簡錛屽師鐞嗚瀹屼簡錛岃創鎴戠殑渚嬬▼銆?br />