<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Udp on Roduygo | Blog</title><link>/tags/udp/</link><description>Recent content in Udp on Roduygo | Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Thu, 21 May 2026 22:00:00 +0700</lastBuildDate><atom:link href="/tags/udp/index.xml" rel="self" type="application/rss+xml"/><item><title>Bắt bệnh Mạng bằng Wireshark &amp; Tấn công DDoS</title><link>/post/wireshark-ddos/</link><pubDate>Thu, 21 May 2026 22:00:00 +0700</pubDate><guid>/post/wireshark-ddos/</guid><description>&lt;p&gt;Chào mừng các bạn tiếp tục với Series Giải phẫu Mạng &amp;amp; Packet Analysis! Ở bài trước, chúng ta đã hiểu được &amp;ldquo;trái tim&amp;rdquo; TCP và nghệ thuật bắt tay 3 bước ở Tầng 4. Hôm nay, chúng ta sẽ thực sự ứng dụng Wireshark để &amp;ldquo;bắt bệnh&amp;rdquo; các lỗi đường truyền kinh điển, đồng thời phân tích cách hacker lợi dụng chính cơ chế của TCP/UDP để phát động các đòn tấn công từ chối dịch vụ (DDoS) tàn khốc.&lt;/p&gt;
&lt;h2 id="1-bắt-bệnh-mạng-chậm-và-rớt-gói-tin-bằng-wireshark"&gt;1. &amp;ldquo;Bắt bệnh&amp;rdquo; Mạng chậm và Rớt gói tin bằng Wireshark
&lt;/h2&gt;&lt;p&gt;Giao thức TCP được thiết kế để đảm bảo không một byte dữ liệu nào bị mất trên đường truyền. Do đó, khi mạng gặp sự cố (như đứt cáp, quá tải, nhiễu sóng), TCP sẽ &amp;ldquo;la hét&amp;rdquo; và để lại những dấu vết cực kỳ rõ ràng. Dưới góc độ SOC Analyst, bạn có thể dùng các bộ lọc sau đây trên Wireshark để chẩn đoán nguyên nhân.&lt;/p&gt;
&lt;h3 id="11-mất-gói-và-gửi-lại-retransmission"&gt;1.1 Mất gói và Gửi lại (Retransmission)
&lt;/h3&gt;&lt;p&gt;Khi máy gửi đã đẩy gói tin đi nhưng đợi mãi (hết thời gian &lt;strong&gt;RTO&lt;/strong&gt; - Retransmission Timeout) mà không nhận được gói &lt;code&gt;ACK&lt;/code&gt; xác nhận từ máy nhận, nó bắt buộc phải gửi lại gói tin đó.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cú pháp lọc:&lt;/strong&gt; &lt;code&gt;tcp.analysis.retransmission&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dấu hiệu:&lt;/strong&gt; Wireshark sẽ tô màu đen chữ đỏ rực rỡ cho các dòng này. Nếu bộ lọc này trả về hàng ngàn kết quả, đường truyền vật lý đang cực kỳ bất ổn và hệ thống đang lãng phí băng thông để gửi lại dữ liệu cũ, làm tốc độ mạng chậm đi rõ rệt.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Gói tin mà máy tính gửi đi để yêu cầu kết nối tcp" class="gallery-image" data-flex-basis="440px" data-flex-grow="183" height="523" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="/post/wireshark-ddos/guilai.png" srcset="/post/wireshark-ddos/guilai_hu_7d35ece5750a65db.png 800w, /post/wireshark-ddos/guilai.png 960w" width="960"&gt;&lt;/p&gt;
&lt;h3 id="12-thiếu-mảnh-dữ-liệu-duplicate-ack"&gt;1.2 Thiếu mảnh dữ liệu (Duplicate ACK)
&lt;/h3&gt;&lt;p&gt;Đây là cảnh tượng máy nhận đang &amp;ldquo;gào thét&amp;rdquo; đòi một mảnh dữ liệu bị mất ở giữa luồng truyền.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cú pháp lọc:&lt;/strong&gt; &lt;code&gt;tcp.analysis.duplicate_ack&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dấu hiệu:&lt;/strong&gt; Bạn sẽ thấy máy nhận gửi liên tiếp các gói &lt;code&gt;ACK&lt;/code&gt; có cùng một số hiệu xác nhận (ví dụ: 3-4 gói đều mang &lt;code&gt;Ack=4680&lt;/code&gt;). Điều này có nghĩa là: &amp;ldquo;Tôi đã nhận được các gói 4681, 4682 rồi, nhưng cái gói 4680 vẫn chưa tới, hãy gửi lại ngay!&amp;rdquo;. Khi nhận được 3 gói Dup ACK liên tiếp, máy gửi sẽ kích hoạt cơ chế &lt;strong&gt;Fast Retransmit&lt;/strong&gt; để gửi bù ngay lập tức.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Gói tin mà máy tính gửi đi để yêu cầu gói tin bị mất" class="gallery-image" data-flex-basis="472px" data-flex-grow="196" height="530" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="/post/wireshark-ddos/dump.png" srcset="/post/wireshark-ddos/dump_hu_720e120416c0c0fb.png 800w, /post/wireshark-ddos/dump.png 1043w" width="1043"&gt;&lt;/p&gt;
&lt;h3 id="13-hệ-thống-bị-ngộp-zero-window"&gt;1.3 Hệ thống bị ngộp (Zero Window)
&lt;/h3&gt;&lt;p&gt;Sự cố này không do đường truyền, mà do năng lực xử lý của máy tính (hoặc Server) đã chạm đáy.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cú pháp lọc:&lt;/strong&gt; &lt;code&gt;tcp.analysis.zero_window&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dấu hiệu:&lt;/strong&gt; Máy nhận sẽ ném ra một gói tin với tham số &lt;code&gt;Win=0&lt;/code&gt;. Đây là cơ chế &lt;strong&gt;Kiểm soát luồng&lt;/strong&gt; (Flow Control) của TCP, mang thông điệp: &amp;ldquo;Dừng lại ngay! Bộ nhớ đệm (Buffer) của tôi đã đầy cứng rồi, không còn chỗ chứa thêm dữ liệu nào nữa đâu!&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-syn-flood-đòn-đánh-vào-sự-kỹ-tính-của-tcp"&gt;2. SYN Flood: Đòn đánh vào sự &amp;ldquo;Kỹ tính&amp;rdquo; của TCP
&lt;/h2&gt;&lt;p&gt;Hacker luôn biết cách biến &amp;ldquo;tính năng&amp;rdquo; thành &amp;ldquo;vũ khí&amp;rdquo;. Việc TCP yêu cầu phải Bắt tay 3 bước khắt khe vô tình tạo ra một lỗ hổng chí mạng cho các cuộc tấn công DDoS dạng &lt;strong&gt;SYN Flood&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Kịch bản tấn công diễn ra như sau:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Kẻ tấn công gửi hàng vạn gói ngỏ lời &lt;code&gt;SYN&lt;/code&gt; đến máy chủ đích.&lt;/li&gt;
&lt;li&gt;Máy chủ ngây thơ phân bổ tài nguyên bộ nhớ, tạo một &amp;ldquo;nửa kết nối&amp;rdquo; (Half-open connection) và gửi lại gói &lt;code&gt;SYN-ACK&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Máy chủ chờ đợi gói &lt;code&gt;ACK&lt;/code&gt; cuối cùng để hoàn tất — nhưng kẻ tấn công tuyệt đối không bao giờ trả lời. Máy chủ cứ thế chờ đợi cho đến khi cạn kiệt tài nguyên (CPU, RAM) và bị treo cứng, từ chối phục vụ người dùng hợp lệ.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Đây là output Wireshark ghi lại khi kẻ tấn công &lt;code&gt;10.10.53.248&lt;/code&gt; liên tục bắn gói &lt;code&gt;SYN&lt;/code&gt; vào Server &lt;code&gt;192.168.1.10&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Lọc để phát hiện SYN Flood: tcp.flags.syn == 1 &amp;amp;&amp;amp; tcp.flags.ack == 0
# Dấu hiệu: hàng ngàn gói SYN từ cùng một IP, không có gói ACK phản hồi

No. Time Source Destination Protocol Info
1 0.0000 10.10.53.248 -&amp;gt; 192.168.1.10 TCP 45892 -&amp;gt; 443 [SYN] Seq=0 Win=64240 Len=0
2 0.0001 10.10.53.248 -&amp;gt; 192.168.1.10 TCP 45893 -&amp;gt; 443 [SYN] Seq=0 Win=64240 Len=0
3 0.0002 10.10.53.248 -&amp;gt; 192.168.1.10 TCP 45894 -&amp;gt; 443 [SYN] Seq=0 Win=64240 Len=0
4 0.0003 10.10.53.248 -&amp;gt; 192.168.1.10 TCP 45895 -&amp;gt; 443 [SYN] Seq=0 Win=64240 Len=0
[...]
&lt;/code&gt;&lt;/pre&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Cảnh báo SOC:&lt;/strong&gt; Kẻ tấn công thường sử dụng địa chỉ IP nguồn giả mạo (&lt;strong&gt;Spoofed IP&lt;/strong&gt;) trong các cuộc tấn công SYN Flood. Do đó, việc dùng Firewall để chặn IP nguồn đơn lẻ là &lt;strong&gt;không hiệu quả&lt;/strong&gt;. SOC cần cấu hình các cơ chế phòng thủ chuyên sâu như &lt;strong&gt;SYN Cookies&lt;/strong&gt; trên Tường lửa/Load Balancer.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="3-udp-flood-đòn-đánh-lấy-thịt-đè-người"&gt;3. UDP Flood: Đòn đánh &amp;ldquo;Lấy thịt đè người&amp;rdquo;
&lt;/h2&gt;&lt;p&gt;Trái ngược với sự kỹ tính của TCP, giao thức UDP lại đại diện cho sự &amp;ldquo;tự do&amp;rdquo;: Không bắt tay, không cần số thứ tự, cứ có dữ liệu là ném đi. Giao thức này thường dùng cho Game hoặc Livestream, nhưng cũng là công cụ tàn phá ưa thích của Hacker.&lt;/p&gt;
&lt;p&gt;Trong tấn công &lt;strong&gt;UDP Flood&lt;/strong&gt;, hacker không cần lừa máy chủ bắt tay. Chúng chỉ đơn giản là huy động một mạng lưới máy tính ma (Botnet) để bắn hàng triệu gói tin UDP rác vào các cổng ngẫu nhiên trên Server.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hậu quả:&lt;/strong&gt; Khi Server nhận được gói tin UDP ở một cổng, nó bắt buộc phải dùng CPU để kiểm tra xem có ứng dụng nào đang chờ ở cổng đó không. Khi phát hiện không có, nó phải tốn thêm công sức để tạo và gửi lại một gói lỗi &lt;code&gt;ICMP Destination Unreachable (Port Unreachable)&lt;/code&gt;. Khi phải xử lý hàng triệu thao tác vô bổ này trong một giây, máy chủ sẽ sụp đổ hoàn toàn vì quá tải.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Lệnh minh họa tấn công UDP Flood bằng hping3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# CHỈ thực hiện trong môi trường Lab, tuyệt đối KHÔNG dùng trên hệ thống thật&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# -2: chế độ UDP | --flood: xả gói liên tục | --rand-source: IP nguồn ngẫu nhiên&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo hping3 -2 --flood --rand-source 192.168.1.10
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Cảnh báo:&lt;/strong&gt; Lệnh trên có thể gây tê liệt hệ thống mục tiêu. Chỉ sử dụng trong môi trường thực hành (Lab) hoàn toàn cô lập, không kết nối Internet.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Qua bài viết này, chúng ta đã biết cách dùng Wireshark để đọc các tín hiệu &amp;ldquo;kêu cứu&amp;rdquo; của hệ thống (Retransmission, Zero Window) và hiểu rõ bản chất tàn khốc của các đòn tấn công DDoS ở Tầng 4. Sau khi đã nắm vững quá trình vận chuyển gói tin, ở Bài 5 tiếp theo, chúng ta sẽ bước lên Lớp 5 (Session Layer) để khám phá ranh giới của các phiên làm việc và kỹ thuật Cướp phiên (Session Hijacking) tinh vi của Hacker. Hẹn gặp lại các bạn!&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>