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慎用你的語言
主站蜘蛛池模板: 中日韩欧亚无码视频| 狠狠操夜夜爽| 欧美日韩国产成人高清视频| 人人澡人人爽欧美一区| 全色黄大色大片免费久久老太| 9丨情侣偷在线精品国产| av无码一区二区三区在线| 亚洲人成成无码网WWW| 精品人妻无码中字系列| 欧美另类第一页| 亚洲国产日韩在线成人蜜芽| 99福利视频导航| 久久semm亚洲国产| 国产欧美日韩在线一区| 亚洲高清资源| 波多野结衣视频一区二区| 91色在线观看| 国产成人AV综合久久| 亚洲午夜福利精品无码| 91久久性奴调教国产免费| 午夜三级在线| 国产在线一区视频| 国产午夜无码专区喷水| 熟妇无码人妻| a天堂视频| 伊人久久精品亚洲午夜| 国产导航在线| 国产精品成人久久| 国内精品久久人妻无码大片高| 狠狠色丁婷婷综合久久| 欧美一级黄片一区2区| 中国精品自拍| 久久人人97超碰人人澡爱香蕉 | 亚洲无码91视频| 黄色污网站在线观看| 久久久久久久久18禁秘| 亚洲精品视频网| 大乳丰满人妻中文字幕日本| 91精品综合| 91精品国产综合久久香蕉922 | 成人va亚洲va欧美天堂| 亚洲天堂久久| 人妻丰满熟妇av五码区| 视频二区亚洲精品| 中文字幕日韩视频欧美一区| 激情乱人伦| 国产成人精品日本亚洲| 手机成人午夜在线视频| 国产三级a| 亚洲天堂网在线观看视频| 亚洲欧美在线精品一区二区| 国产精品乱偷免费视频| 欧美 亚洲 日韩 国产| 婷婷色狠狠干| 91成人免费观看| 亚洲成年人片| 九九九国产| 久久夜色撩人精品国产| 爱色欧美亚洲综合图区| 中国丰满人妻无码束缚啪啪| 国产理论最新国产精品视频| 成人午夜精品一级毛片| 在线亚洲小视频| 永久免费av网站可以直接看的 | 亚洲天堂网在线播放| 伦伦影院精品一区| 99久久成人国产精品免费| 91国语视频| 91免费在线看| 欧美一级在线| 黄色网址免费在线| 中文字幕佐山爱一区二区免费| 97狠狠操| 99草精品视频| 欧美成人a∨视频免费观看 | 欧美日韩中文国产va另类| 国产福利微拍精品一区二区| 女人毛片a级大学毛片免费| 国产美女视频黄a视频全免费网站| 老司国产精品视频| 九色在线视频导航91| 在线观看亚洲精品福利片 |