众所周知,在传输层有两个常用的协议 TCP 和 UDP,本文介绍在 Linux 命令行下,如何使用 nc 命令发送或接收 UDP 数据包,这些命令的用法对调试 UDP 通信程序将有所帮助。

1. 问题的提出

编写了一个使用 raw socket 在数据链路层接收原始 UDP 数据包的程序,调试的时候,需要使用局域网中的另一台机器发送 UDP 数据包,突然发现居然一下子想不出如何在命令行上发送数据包;首先想到的是用 curl,但又一想不对,curl 只能使用应用层协议透过 TCP 协议发送数据包,所以可以发 HTTP 请求包,FTP 请求包等,是不能发送 UDP 数据包的。

终于想起了不怎么使用的 nc 命令,可以很方便地发送 UDP 数据包

2. 文章要点

  1. 理解 Linux 下的 nc 命令;
  2. 使用 nc 命令在网络上发送或接收 UDP 报文;
  3. 抓取 nc 命令发送的 UDP 报文;
  4. 介绍其它可以发送 UDP 报文的命令。

3. netcat 命令

  • nc 是 netcat 的简写,大多数的 Linux 发行版中默认是安装 netcat 的,打开一个终端窗口(ctrl+alt_t),用下面命令检查一下是否已经安装了 netcat:

    nc
    
  • 在 ubuntu 20.04 下的输出:

如何在Linux命令行下发送和接收UDP数据包相关推荐

  1. 如何在Linux命令行下收听网络电台

    对于花大量时间在Linux屏幕前的系统管理员和Linux爱好者来说,网络/本地电台上的音乐可以极大提高生产力,你们知道吗?不管你们相信与 否,,在工作环境中有适当的声音,如音乐或者闲聊声包围,都可以提 ...

  2. linux邮件可以带文件格式,在Linux命令行下发送html格式的邮件

    在Linux利用formail+sendmail来发送带图片的邮件 自测: (echo "    业务预估统计.";echo "    ";) | formai ...

  3. 查询linux下的命令是什么意思,技术|如何在Linux命令行下查询字典?

    大多数人在遇到他们不熟悉的单词时会查询google.或者他们用一个最喜欢的在线字典来提供答案.当你在没有网络连接的时候怎么办?或者你只有一个古老的Linux发行版且你没有GUI界面?你需要离线查找的话 ...

  4. 如何在Linux命令行中替换多个文件中的字符串

    本文翻译自:How to replace a string in multiple files in linux command line I need to replace a string in ...

  5. linux命令行下命令参数前的一横(-)和两横(--)的区别

    linux命令行下命令参数前的一横(-)和两横(--)的区别 原文转自:http://blog.csdn.net/songjinshi/article/details/6816776 在解释这些区别之 ...

  6. ffmpeg linux 命令,Linux命令行下转换媒体格式工具FFMPEG介绍

    Linux命令行下转换媒体格式工具FFMPEG介绍 格式:ffmpeg [[输入文件选项]- i 输入文件名] {[输入文件选项] 输出文件名} 主要选项: -L 显示ffmpeg的版权说明 -h 显 ...

  7. linux命令行下载github文件,Linux命令行下使用GitHub

    Linux命令行下使用GitHub 1.注册github账号 2.创建ssh密钥 cd ~ ssh-keygen -t rsa -C your_email@example.com 1 2 cd~ ss ...

  8. linux 命令api,linux命令行下字典,使用有道API

    Linux命令行下的字典,使用"exit"退出.大家简单申请一个key就可以用了. 这里 申请 #!/usr/bin/python3.2 import urllib.request ...

  9. 【转】Linux命令行下svn ignore忽略文件或文件夹用法

    转自:Linux命令行下svn ignore忽略文件或文件夹用法 - 陌上归人的博客 - 博客园 一.忽略单个目录 1.忽略文件夹 假如目录oa.youxi.com是从svn checkout出来的, ...

最新文章

  1. handler.post(r)同一个线程的疑惑
  2. Quartz框架架构
  3. 微软面试题及答案 (很需要开放性思维啊)
  4. flutter制作具有自定义导航栏的渐进式 Web 应用程序
  5. MFC六大核心机制之五、六:消息映射和命令传递
  6. MySQL表的操作(一)
  7. 服务器支持http tcp,Nginx配置http和tcp(示例代码)
  8. keyshot分辨率多少合适_投影仪分辨率和画质,你想知道的都在这里!
  9. Java输出书名,输入书名 输出该书的信息 中java程序怎么设计
  10. 本周内外盘行情回顾2022.3.6
  11. Masonry 设置宽高比例
  12. 利用阿里云开发APP,实现远程数据接收
  13. 【李宏毅】元学习(Meta learning)的概念与步骤
  14. C#中DateTime.Ticks
  15. UID-( Unique Identifiers ) 唯一标志值的解释
  16. base64转成文件
  17. 数字图像处理(第三版)绪论笔记
  18. Mac常见问题|Safari下载文件没有反应的解决方法
  19. 适用于WordPress的16个最佳Gutenberg块插件(超级有用)
  20. 实例三:MATLAB APP design-多项式函数拟合

热门文章

  1. Eclipse jboss搭建EJB项目
  2. 佩戴饰品的女人与不佩戴饰品的女人有什么区别?
  3. [cocos2dx开发技巧2]工具CocosBuilder的使用--集成
  4. ROC及AUC计算方法及原理
  5. SIFT算法详解——图像特征提取与匹配
  6. 字符串排序(英文字母从 A 到 Z 排列,不区分大小写;同一个英文字母的大小写同时存在时,按照输入顺序排列)
  7. sitemesh 使用方法
  8. method ID not in [0, 0xffff]: 65536” error解决办法
  9. 批量打印订单的技术方案
  10. 语言学概论ppt课件_语言学概论课件.ppt