---
title: "Discussion on \"如何使用raw socket发送UDP报文\" | Hashnode"
description: "Discussion on \"如何使用raw socket发送UDP报文\". 使用raw socket发送报文比接收报文要复杂一些，因为需要在程序中构建数据链路层、网络层和传输层的报头，本文以发送UDP报文为例说明在使用raw socket时如何构建数据链路层、网络层和传输层的报头并发送报文，文中给出了完整的源程序；阅读本文需要掌握基本的IPv4下的socket编程方法，本文对初学者有一定难度。\n\n1. 前言\n\n阅读本文前可以考虑先阅读一下我的另外一篇文章《Linux下如何在数据链路层接收原始数据包》，那篇文章中已经介绍过的一些概念，本文中将不再赘述；下面仅罗列一些曾经在..."
url: "https://hashnode.com/posts/180006-send-udp-with-raw-socket/63cf7b62a0efe25f541ad485"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [如何使用raw socket发送UDP报文](https://whowin.cn/180006-send-udp-with-raw-socket?utm_source=hashnode&utm_medium=feed)

使用raw socket发送报文比接收报文要复杂一些，因为需要在程序中构建数据链路层、网络层和传输层的报头，本文以发送UDP报文为例说明在使用raw socket时如何构建数据链路层、网络层和传输层的报头并发送报文，文中给出了完整的源程序；阅读本文需要掌握基本的IPv4下的socket编程方法，本文对初学者有一定难度。 1. 前言 阅读本文前可以考虑先阅读一下我的另外一篇文章《Linux下如何在数据链路层接收原始数据包》，那篇文章中已经介绍过的一些概念，本文中将不再赘述；下面仅罗列一些曾经在...

Dec 27, 2022 · 4 min read · whowin.cn  
Updated Oct 15, 2024  
Read the article

-   [#raw-socket](https://hashnode.com/tag/raw-socket)
-   [#udp](https://hashnode.com/tag/udp)
-   [#packet](https://hashnode.com/tag/packet)

## Written by

[whowin](https://hashnode.com/@whowin)

@whowin · Beijing, China

  
[View profile](https://hashnode.com/@whowin)

一枚有30多年经验的退休程序员，主要从事嵌入式软件开发

## Responses

Markdown supported · ⌘↵ to post

No responses yet.
