日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于XTerm模拟发包实现

發布時間:2023/12/16 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于XTerm模拟发包实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹

  • XTerm是一個X Window System上的終端模擬器,用來提供多個獨立的SHELL輸入輸出。

  • XTerm使用虛擬終端技術將遠程主機的終端模擬出來,實現了遠程終端控制。

  • Iperf 是一個網絡性能測試工具,可以測試最大TCP和UDP帶寬性能,具有多種參數和UDP特性,可以根據需要調整,可以報告帶寬、延遲抖動和數據包丟失。

  • iperf常用參數表。

參數說明
-bUDP模式的帶寬限制,單位bps
-e顯示更多信息
-f設置帶寬單位bps、Kbps、Mbps、Gbps以及對應的Bps
-i發包的間隔時間,單位s
-l緩沖區大小,默認TCP為128K
-m輸出TCP的最大端長度(MSS=MTU-TCP/IP header)
-o將信息輸出到文件file中
-p指定端口號
-u選擇UDP模式,默認TCP
-w設置套接字緩沖區大小
-B綁定到多個地址中的一個,UDP時用于組播分組
-M設置TCP的最大端長度
-s服務器模式
-t設置傳輸的總時間,單位s
-c客戶端模式
-n設置發包的大小,單位Byte
-P設置線程數,默認1線程,服務器端和客戶端同時定義
-T設置TTL值

目的

  • 在mininet中使用XTerm+iperf實現TCP和UDP發包模擬。
  • 對不同流量強度進行分析,模擬正常發包和攻擊流量。

配置

  • apt install mininet安裝mininet環境。
  • apt install xterm安裝XTerm。
  • 使用mn打開mininet默認拓撲,輸入xterm h1 h2打開虛擬終端。

模擬

正常TCP

  • TCP的模擬發包需要建立連接,這里使用h1作為接收端(服務端),h2作為發送端(客戶端)。
  • 設置服務端接收端口為5566,時間間隔為1s。
# iperf -s -p 5566 -i 1
  • 此時使用ifstat查看網絡流量,發現并無大量流量生成。

  • 設置客戶端使用服務端套接字連接,發送10s的數據包。

# iperf -c 10.0.0.1 -p 5566 -t 10

客戶端啟動到建立TCP連接后,服務端才能在該端口接收數據包。

  • 經過10s的傳輸后,客戶端停止發送,服務端產生如下輸出。
------------------------------------------------------------ Server listening on TCP port 5566 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 14] local 10.0.0.1 port 5566 connected with 10.0.0.2 port 47854 [ ID] Interval Transfer Bandwidth [ 14] 0.0- 1.0 sec 2.59 GBytes 22.3 Gbits/sec [ 14] 1.0- 2.0 sec 2.62 GBytes 22.5 Gbits/sec [ 14] 2.0- 3.0 sec 2.53 GBytes 21.7 Gbits/sec [ 14] 3.0- 4.0 sec 2.57 GBytes 22.1 Gbits/sec [ 14] 4.0- 5.0 sec 2.67 GBytes 22.9 Gbits/sec [ 14] 5.0- 6.0 sec 2.71 GBytes 23.3 Gbits/sec [ 14] 6.0- 7.0 sec 2.66 GBytes 22.8 Gbits/sec [ 14] 7.0- 8.0 sec 2.69 GBytes 23.1 Gbits/sec [ 14] 8.0- 9.0 sec 2.70 GBytes 23.2 Gbits/sec [ 14] 9.0-10.0 sec 2.73 GBytes 23.4 Gbits/sec [ 14] 0.0-10.0 sec 26.5 GBytes 22.7 Gbits/sec
  • 正常TCP模擬發包成功。

正常UDP

  • 相對于TCP的三次握手,UDP則簡單粗暴,直接根據給定套接字就可以進行發包。
  • 仍然選擇h2作為發送端,設置服務端套接字,選擇UDP模式。
# iperf -c 10.0.0.1 -p 5566 -i 1 -u
  • h1作為服務端,如果不打開服務端口接收數據,通過ifstat仍然可以看到有流量發送出。

與TCP模式不同,如果服務端未啟動,客戶端是無法發出數據包的。

  • 設置服務端接收端口,再次查看效果。
  • 發現服務端成功接收UDP數據包,正常UDP發包模擬完成。

DoS攻擊

  • 這里使用scapy模擬DoS攻擊,scapy是用python編寫的,所以使用pip install安裝即可。
  • 具體實現腳本參考我的另一篇博客。

Ping-DoS

  • 將每個攻擊腳本進程設置為20,在XTerm中直接使用python3運行。

  • 可以很明顯的看到目標機的端口流量激增。

  • 使用htop查看本地進程,看到幾乎全是腳本進程。

  • Ping DoS完成。

目標機帶寬足夠,Ping DoS無顯著影響但我物理機跑得呼呼響。

SYN-Flood

  • 操作類似Ping DoS,這里只給出實現效果。

  • 由于只發送SYN,而不完全建立連接,故沒有發送其他數據包,目標機端口流量不會有變化。

這里只用了5個進程,但是效果很強烈,物理機出現卡頓。

總結

以上是生活随笔為你收集整理的基于XTerm模拟发包实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。