首页 > 其他 > 详细

记一次udp端口数据流过程

时间:2021-04-01 14:13:12      阅读:14      评论:0      收藏:0      [点我收藏+]

序言

最近在调试外接日志功能的时候,需要调试通过nc发送数据到UDP服务端的数据流的问题。

使用nc(netcat) 启动UDP服务端监听端口其实是很简单的事儿,然后在另外一台主机上,同样使用nc进行发送数据到服务端 ,可以在服务端进行看见数据传输。nc的功能很强大,这里不做详述, 可参考 nc命令用法举例

  • 安装 nc: yum install -y netcat

nc 监听udp端口

简单使用如下

  1. 主机(192.168.137.2-虚拟机)启动udp做服务端,监听端口60062,直接使用如下指令启动:
    nc -lu 60062
  2. 在本地主机使用wsl打开端口,虚拟机监听端口发送一条数据:
    echo -n "hello world!" | nc -4uv  192.168.137.2 60062
    
    # nc 参数说明
    # -4 使用ipv4协议
    # u 表示,udp; t 表示tcp
    # v 使用交互输出
    
    查看端口交互信息如下图
    技术分享图片
  3. 在服务端可以看到有接收到的数据流,如下图
    技术分享图片

nc 结合 tcpdump监听某个服务端口是否有数据接收

很多时候,为了测试某个服务端口(tcp/udp)是否有数据写入,但是测试人员并没办法进入到服务本身去查看,或者也无法通过日志查看是否有数据通过某个端口接收数据,此时可以使用 tcpdump工具进行测试,方式如下,以udp为例子:

比如如下某台服务器udp端口如下:

  1. 查看upd端口

    • netstat -nulp
      技术分享图片
  2. 需要检测端口 20514是否可以通过客户端正常写入数据,在此服务器上做如下操作

    • 下载: tcpdump
      yum install -y tcpdump

    • 创建一个文件,用于将端口接收的数据写入到 本地文件
      touch upd.txt

    • 检查当前数据流使用的是哪一个网卡,可能有多个,选择当前主机ip对应的网卡
      ifconfig
      技术分享图片

    • 执行指令,用来接收数据流,并将数据流存入本地文件

      tcpdump -i eno1 udp port 20514 -w ./udp.txt
      
      # eno1是当前使用的网卡
      # -w 表示将数据流重写到文件中
      

      技术分享图片

    • 运行一段时间后,直接 ctrl + c 退出监听,可以看到有数据包写入文件
      技术分享图片

    • 在文件中查看接收到的数据流,
      技术分享图片

总结

tcp 端口,可以使用telnet 工具测试
udp端口,建议使用 nc 及tcpdump测试

记一次udp端口数据流过程

原文:https://www.cnblogs.com/failymao/p/14605301.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!