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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

UDP协议测试

發布時間:2023/12/24 综合教程 55 生活家
生活随笔 收集整理的這篇文章主要介紹了 UDP协议测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UDP協議測試

我們一般想到測試連通性時第一考慮到的就是使用ping命令。

但是我們知道ping命令使用的是icmp協議,屬于tcp/ip協議中的一個子協議,所以我們可以用ping或tcping命令來測試tcp的連通性還可以測試延遲情況。

但是當我們需要測試udp連接的時候ping命令顯然沒有任何作用,也就是說ping命令無法對udp進行測試

我們知道socket端口可以通過telnet x.x.x.x port來測試主機與目標端口的網絡是否通暢。那么udp端口如何測試呢:

這時候我們可以用到netcat,這個命令被譽為是網絡中的“瑞士軍刀”,功能非常強大,測試udp只是其中的一個功能變通。

在安全領域nc常用來端口監聽轉發,用的比較多的也是windows版的NC,在運維中需要常用到linux上的nc,而一般linux會默認集成這個命令,根據不同系統命令不同,有的為“nc”,有的為“netcat”,大家可以根據實際系統嘗試下。

UDP端口連接測試:

1.測試目標端口是否正常(前提是目標主機上啟動了服務端口,且本機與服務端網絡通暢的情況):nc -vuzx.x.x.x xxxx

2.向UDP端口發送消息:nc -vu x.x.x.x xxxx

 3.通過抓包命令進行抓包,接收UDP端口抓包:tcpdump -i eth0 -s 0 port 1814(注:抓包需要root權限)

udp數據發送測試

1,UDP 的小程序

我自己寫了一個UDP 的小程序,有一個UDP 的server,而且有UDP的client。

然后執行server和client,然后用tcpdump將該端口的UDP數據報文抓取出來。

執行的過程是這樣的。

client向server發送"xiyou"

server向client應答"wangzhe"

client程序在主機example上運行(192.168.0.18)

server程序在主機linux上運行(192.168.0.9)

2,UDP數據報文

linux@linux:~$ sudo tcpdump -vvv -X  udp port 7777
[sudo] password for linux: 
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:03:01.923227 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 48)
    example.local.43521 > linux.7777: [udp sum ok] UDP, length 20
    0x0000:  4500 0030 0000 4000 4011 b677 c0a8 0190  E..0..@.@..w....
    0x0010:  c0a8 0165 aa01 1e61 001c 4c34 7869 796f  ...e...a..L4xiyo
    0x0020:  7500 0000 0000 0000 0000 0000 0000 0000  u...............
11:03:01.923343 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 48)
    linux.7777 > example.local.43521: [bad udp cksum 6869!] UDP, length 20
    0x0000:  4500 0030 0000 4000 4011 b677 c0a8 0165  E..0..@.@..w...e
    0x0010:  c0a8 0190 1e61 aa01 001c 8473 7761 6e67  .....a.....swang
    0x0020:  7a68 6500 0000 0000 0000 0000 0000 0000  zhe.............

由上面的報文可知,有兩個UDP數據報文。

第一個報文是example主機上的client向server發送數據。

4500 0030 0000 4000 4011 b677 c0a8 0190c0a8 0165 這20個數據是IP首部。

aa01 1e61 001c 4c34這8個字節是UDP的首部。

7869 796f75000000 0000 0000 0000 0000 0000 0000這20個數據是我用sendto函數發送的

數據。

而將char req[20] = "xiyou" 的ASCII碼(16進制)就是:

78 69 79 6f 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

第二個報文是linux向主機example做出的應答。

4500 0030 0000 4000 4011 b677 c0a8 0165c0a8 0190 這20個數據是IP首部。

1e61 aa01 001c 8473 這8個字節是UDP首部。

7761 6e677a68 6500 0000 0000 0000 0000 0000 0000 這20個數據是應用層的數據。

而將char reply[20] = "wangzhe"的ASCII碼(16進制)就是:

77 61 6e 67 7a 68 65 0 0 0 0 0 0 0 0 0 0 0 0 0

由此看出,應用層的數據沒有夾雜其他的參數,全部是數據,均是字符的ASCII碼。

原文地址

https://www.cnblogs.com/leocorn/p/11697437.html

https://blog.csdn.net/qq_34738528/article/details/100140248

總結

以上是生活随笔為你收集整理的UDP协议测试的全部內容,希望文章能夠幫你解決所遇到的問題。

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