999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C#的Windows窗體端口掃描程序分析

2017-03-06 23:30:29沈宮新
軟件導刊 2017年1期
關鍵詞:語言

沈宮新

摘要摘要:C#語言一方面繼承了C 語言和C++ 語言簡潔高效的優點,另一方面吸收了JAVA語言面向對象的設計思想,是目前主流的編程語言之一。C#語言可以高效便捷地開發各種應用程序,微軟公司提供了完備的類庫以方便程序員開發。在網絡開發方面,端口掃描程序是網絡軟件常用的功能模塊。通過分析端口掃描程序中出現的問題,找出問題產生的原因,提出相應解決辦法,對采用C#語言開發類似軟件有一定的參考作用。

關鍵詞關鍵詞:C#語言;網絡軟件;端口掃描

DOIDOI:10.11907/rjdk.162211

中圖分類號:TP312文獻標識碼:A文章編號文章編號:16727800(2017)001003803

0引言

C#語言是目前主流的編程語言之一。它采用控件事件來綁定窗體方法,實現了消息的便捷傳遞,大大簡化了窗體程序的編寫,使程序員可以專注于業務邏輯開發,不必花費時間在消息路由上。本文采用C#語言實現一個具有WinForm窗體的端口掃描程序,并重點分析可能出現的幾個問題,為開發者提供參考。1端口掃描程序原理

端口掃描作為網絡安全掃描的核心技術之一,廣泛應用于網絡掃描器中,如著名的Namp和Nessus。在計算機中,一個端口就是一個潛在的通信通道,對目標計算機進行端口掃描,可使用戶了解本機對外界提供了哪些服務,從而為管理網絡提供參考。

端口掃描技術原理[1]:向目標計算機的TCP/IP服務算法的基礎上加上T-BCJR的復雜度,而高信噪比時,錯誤幀數量少,此時的復雜度基本接近SOVA算法。總體上,改進譯碼算法的復雜度與SOVA算法相近。

4結語

連續相位調制是一種先進的調制技術,近年來在通信、遙感等領域得到廣泛重視。本文介紹了連續相位調制系統的主要譯碼算法,并針對算法的局限性在高斯白噪聲信道下給出了一種改進的算法。通過仿真驗證了該算法的可行性,當誤比特率達到104時,改進譯碼的信噪比只比BCJR算法低0.15dB左右,復雜度也大大降低。

斷服務端口是打開還是關閉,得到端口提交的服務和信息。端口掃描的常見種類有TCP SIN掃描、TCP Connect掃描、秘密掃描和其它掃描。掃描分類如圖1所示。

本文使用其中的TCP connect 掃描,它是最基本的TCP掃描。操作系統提供connect()系統調用,用來與每個感興趣的目標計算機端口連接。如果端口處于偵聽狀態,那么connect()就能成功。否則,這個端口不能用,即沒有提供服務。這種技術最大的優點是不需要任何權限,系統中的任何用戶都有權使用這個調用;另一個好處就是速度:如果對每個目標端口以線性方式使用單獨的connect()調用,會花費相當長的時間,而這里可以同時打開多個套接字,從而加速掃描。

2端口掃描程序設計

本開發除了系統提供的默認命名空間和窗體命名空間外,還要用到和網絡開發和線程開發相關的命名空間。主要流程是在掃描窗體界面中設定目標主機IP地址和掃描端口范圍[2-3],在主線程中啟動多個線程來掃描端口。2.1命名空間和類

涉及的網絡相關命名空間包括System.net命名空間,要使用其中的IPAddress類和IPEndPoint類來構建統一、簡單的網絡編程接口。使用System.Net.Sockets命名空間中的Socket類來實現Berkeley套接字。引用System.Threading命名空間,使用其中的Thread類來實現多個線程同時掃描端口以加快掃描速度。2.2端口掃描程序流程

啟動多個線程,在線程中開始掃描端口,掃描程序中設定的套接字,以目標主機和端口為端點執行TCP connect方法。執行后,通過判斷套接字的Connected屬性來確定端口是否開放。主要流程如圖2所示。

3端口掃描程序中的問題及分析

對掃描程序進行測試。首先在局域網IP地址為10.110.32.16的主機上開放80端口,然后啟動掃描程序,在目標IP中填入10.110.32.16,端口選擇79到80端口,點擊開始掃描。3.1掃描端口不能顯示

盡管已經開放了80端口,可是掃描后并沒有發現該端口被寫入相應控件,但確實調用了Listbox控件的Items集合屬性的add方法并添加了具體的開放端口。經過分析,C#在UI線程創建子線程操作UI控件時,也就是在UI 線程以外的子線程操作UI控件時,系統引發了一個InvalidOperationException異常,因為訪問 Windows 窗體控件本質上不是安全線程。如果有兩個或多個線程操作某一控件,則可能會迫使該控件進入一種不一致狀態,還可能出現其它與線程相關的錯誤,包括爭用和死鎖。因此,確保以線程安全方式訪問控件非常重要。解決這個問題有3種方法[4-5]:

(1)在窗體Load方法中設置CheckForIllegalCrossThreadCalls為false,不檢查交叉線程調用,直接忽視InvalidOperationException異常,此法不推薦使用。

(2)利用委托來實現。在窗體函數中定義委托AppendStringDelegate,同時定義委托方法addString來觸發。把原來在線程中的通過控件添加的方法調用,修改為通過addString方法修改控件,以避免線程沖突,關鍵代碼如下:

(3)通過使用 BackgroundWorker 組件實現多線程的交叉引用。BackgroundWorker組件非常適合在后臺運行任務前臺顯示結果的應用場景,而且提供了完善的取消工作、報告進度和異常處理功能,解決了跨線程訪問可視化組件問題。輔助線程運行 DoWork 事件處理程序,在掃描按鈕點擊事件中調用方法RunWorkerAsync完成后臺線程異步觸發。

本文推薦使用第(2)或第(3)種方法來解決上述問題。3.2掃描端口結果重復顯示

采用上述委托處理線程訪問UI中控件,發現在Listbox控件中掃描結果出現兩次“端口開放80”字樣。端口掃描代碼在窗體類中定義一個類變量portnow,在掃描程序中通過一個for循環來啟動多個線程,執行從開始端口到終止端口的掃描,在循環中將i值賦給portnow。因為portnow是類變量,在線程中根據portnow的值確定掃描端口,代碼看似沒有問題,但經過跟蹤分析,發現線程在執行掃描79端口時,UI主線程繼續執行,并不會等待,此時,i值修改為80,又啟動下一個線程掃描80端口,而此時掃描79端口的線程也才剛剛為portnow賦值,因此出現了兩次都是連接80端口的情況。圖3中,通過跟蹤線程堆棧發現,在切換掃描79號端口線程時,UI線程繼續執行,i值被修改,導致一開始就執行掃描79號端口,portnow值就變成80,造成重復連接80端口問題。為了解決線程調用中portnow和所掃描端口不同步問題,考慮把i值作為一個參數傳給線程,更簡單的方法是直接把線程命名為i值。同時,在掃描程序中通過下列代碼實現portnow同步獲取:

4結語

本文通過C#語言端口掃描程序設計與實現,分析了程序中出現的問題,對端口掃描結果不能出現、端口掃描結果重復出現問題進行了分析,提出了相應的解決方法,提示C#編程者進一步了解網絡編程中線程使用的注意要點,避免發生線程使用不當導致程序無法正常運行,對類似系統實現提供了有益的參考。

參考文獻:

[1]譚逸逸.常見的端口掃描類[EB/OL].http://360doc.com/content/12/0302/13/3725126_191092221.shtml.

[2]陳青華.C#網絡開發項目教程[M] .北京:電子工業出版社, 2012:91113.

[3]馬駿.C#網絡應用編程[M] 北京:人民郵電出版社, 2014:3848.

[4]卜春芬. C#后臺處理與多線程技術的應用[J]. 昆明學院學報, 2010(3):1218.

[5]周廣川.多線程應用程序調試技術[J]. 現代計算機:專業版, 2011(3):154156.

[6]孫小平.網絡系統安全漏洞掃描淺析[J] .網絡安全技術與應用, 2016(2):7880.

責任編輯(責任編輯:杜能鋼)

猜你喜歡
語言
詩之新,以語言創造為基
中華詩詞(2023年8期)2023-02-06 08:51:28
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
讓語言描寫搖曳多姿
多向度交往對語言磨蝕的補正之道
累積動態分析下的同聲傳譯語言壓縮
日常語言與播音語言
新聞傳播(2016年10期)2016-09-26 12:15:04
語言技能退化與語言瀕危
我有我語言
論語言的“得體”
語文知識(2014年10期)2014-02-28 22:00:56
Only Words慎用你的語言
主站蜘蛛池模板: 日韩a级毛片| 亚洲无码视频图片| 国产成人AV男人的天堂| 国产成人综合在线视频| 麻豆国产精品| 久久人妻xunleige无码| 亚洲日本精品一区二区| 亚洲精品桃花岛av在线| 伊人久久影视| 国产激情影院| 日本成人在线不卡视频| 欧美一区二区啪啪| 久久国产精品影院| 波多野结衣无码AV在线| 在线免费不卡视频| 欧美一级夜夜爽www| 国产91九色在线播放| 国产精品19p| 色偷偷男人的天堂亚洲av| 国产丝袜第一页| 91久久偷偷做嫩草影院精品| 国产中文一区a级毛片视频| 中文字幕66页| 欧美色视频在线| 婷婷亚洲综合五月天在线| 首页亚洲国产丝袜长腿综合| 3344在线观看无码| 成年人福利视频| 91丝袜乱伦| 亚洲成a人片在线观看88| 特级做a爰片毛片免费69| 国产福利小视频在线播放观看| 老司机精品久久| 99伊人精品| 999精品视频在线| 亚洲欧美日韩中文字幕一区二区三区| 91口爆吞精国产对白第三集| 18禁色诱爆乳网站| 国产精品美女在线| 国产精品视频a| 蜜桃视频一区二区| 成年av福利永久免费观看| 亚洲天堂视频在线播放| 中文字幕欧美日韩| 亚洲欧美自拍一区| 在线中文字幕网| 欧美一区二区啪啪| 91成人在线免费视频| 一级片一区| 老熟妇喷水一区二区三区| 国产特一级毛片| 中国美女**毛片录像在线| 中文字幕 91| 亚洲色欲色欲www在线观看| 在线观看国产精品一区| 精品国产毛片| 国产内射在线观看| 亚洲中文字幕国产av| 国产亚洲视频免费播放| 538国产在线| 国产爽妇精品| 91精品国产丝袜| 色综合天天操| 99久久国产综合精品2020| 区国产精品搜索视频| 亚洲精品第一页不卡| 国产噜噜在线视频观看| 超清无码一区二区三区| 五月天福利视频| www亚洲天堂| 超清无码一区二区三区| 五月天福利视频| 第一页亚洲| 又黄又湿又爽的视频| 欧美精品v| 欧美精品在线视频观看| 2022精品国偷自产免费观看| 欧美国产日韩在线| 精品91自产拍在线| 十八禁美女裸体网站| 一级毛片基地| 蜜桃视频一区二区|