通过TCP或UDP向某个IP和端口发送数据

news/2024/5/18 16:09:02 标签: tcp/ip, udp, 单片机

工具发送

如果您想要一个简单的方法来发送TCP或UDP数据,可以尝试使用nc(netcat)命令。这是一个功能强大的网络工具,可以用于读取和写入数据流。

发送TCP数据

在命令行中运行以下命令:

echo "Hello, World\!" | nc <IP地址> <端口号>

示例:向IP为"127.0.0.1",端口为12345的服务器发送数据"Hello, World!"

echo "Hello, World\!" | nc 127.0.0.1 12345

发送UDP数据

在命令行中运行以下命令:

echo "Hello, World\!" | nc -u <IP地址> <端口号>

示例:向IP为"127.0.0.1",端口为12345的服务器发送数据"Hello, World!"

echo "Hello, World\!" | nc -u 127.0.0.1 12345

请注意,nc命令可能在不同操作系统上的可用性和用法有所不同。在使用之前,请确保已安装了nc工具,并且目标服务器已准备好接收数据。

nc(netcat)工具可以用于监听特定端口并接收数据。以下是如何使用nc来监听TCP和UDP端口的示例。

监听TCP端口

在命令行中运行以下命令:

nc -l <端口号>

示例:监听TCP端口12345

nc -l 12345

监听UDP端口

在命令行中运行以下命令:

nc -l -u <端口号>

示例:监听UDP端口12345

nc -l -u 12345

运行这些命令后,nc将开始监听指定的端口。当接收到数据时,它将显示在命令行界面中。您可以通过按Ctrl+C来停止监听。请注意,nc命令可能在不同操作系统上的可用性和用法有所不同。在使用之前,请确保已安装了nc工具。

脚本发送

您可以使用Python的socket库来通过TCP或UDP向某个IP和端口发送数据。以下是两个简单的示例,分别演示了如何使用TCP和UDP发送数据。

使用TCP发送数据

import socket

def send_data_tcp(ip, port, data):
    # 创建一个TCP套接字
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    try:
        # 连接到指定的IP和端口
        sock.connect((ip, port))

        # 发送数据
        sock.sendall(data.encode('utf-8'))

        # 接收服务器响应(可选)
        response = sock.recv(1024)
        print("Received:", response.decode('utf-8'))
    finally:
        # 关闭套接字
        sock.close()

# 示例:向IP为"127.0.0.1",端口为12345的服务器发送数据"Hello, World!"
send_data_tcp("127.0.0.1", 12345, "Hello, World!")

使用UDP发送数据

import socket

def send_data_udp(ip, port, data):
    # 创建一个UDP套接字
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    try:
        # 向指定的IP和端口发送数据
        sock.sendto(data.encode('utf-8'), (ip, port))

        # 接收服务器响应(可选)
        response, addr = sock.recvfrom(1024)
        print("Received:", response.decode('utf-8'))
    finally:
        # 关闭套接字
        sock.close()

# 示例:向IP为"127.0.0.1",端口为12345的服务器发送数据"Hello, World!"
send_data_udp("127.0.0.1", 12345, "Hello, World!")

请注意,这些示例仅用于演示目的。实际应用程序可能需要处理错误、超时等情况。在使用这些代码之前,请确保目标服务器已准备好接收数据。


http://www.niftyadmin.cn/n/5468757.html

相关文章

Elasticsearch 的索引优化常规项

优化常规项 https://blog.csdn.net/bairo007/article/details/132019575 1、按实际情况适当调整主分片的数量 如果主分片数量太少&#xff0c;会导致每个分片中的数据量过大&#xff0c;而且无法利用集群中所有节点的计算资源。如果主分片数量太多&#xff0c;会导致索引过度…

Practice of PILos——transform np.array into img ,store in batch

先放上源码 import os import shutil import subprocess import tarfileimport os import pandas as pd import numpy as np from PIL import Image# Set up Kaggle API credentials kaggle_json_path os.path.expanduser("~/.kaggle/kaggle.json")if not os.path.…

axios请求封装,适用于RN,React,Vue,Uniapp(相对于前面几个新增个自定义header头)

axios.js import axios from axios; const instace axios.create({baseURL: https://internal.takehr.cn, //接口地址timeout: 5000, //超时时间 });//配置请求拦截器,在请求之前的数据处理,比如在请求头添加token,所有的请求都会经过拦截器 instace.interceptors.request.us…

ArrayList与线性表详解

1.线性表 线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表有&#xff1a;顺序表、链表、队列…… 线性表在逻辑上是线性结构&#xff0c;也就是说是连续的一条直线。但是在物理结构上不一定是连续的&#xff…

UE4_普通贴图制作法线Normal材质

UE4 普通贴图制作法线Normal材质 2021-07-02 10:46 导入一张普通贴图&#xff1a; 搜索节点&#xff1a;NormalFromHeightmap 搜索节点&#xff1a;TextureObjectparameter&#xff0c;并修改成导入的普通贴图&#xff0c;连接至HeightMap中 创建参数normal&#xff0c;连接…

还得是抖音,字节推出竖屏视频理解数据集,入选CVPR2024

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 短视频在当下社交媒体逐渐成为主导的视频格式。传统视频处理技术和研究一般都专注于横屏视频…

DD3L内存芯片介绍

在数字科技迅猛发展的今天&#xff0c;内存芯片作为硬件的核心组件之一&#xff0c;扮演着至关重要的角色。而DD3L内存芯片以其卓越的性能和独特的设计&#xff0c;成为众多高端电子设备的不二选择。那么&#xff0c;DD3L内存芯片究竟如何应用&#xff0c;又是如何释放数字世界…

神经网络学习笔记10——RNN、ELMo、Transformer、GPT、BERT

系列文章目录 参考博客1 参考博客2 文章目录 系列文章目录前言一、RNN1、简介2、模型结构3、RNN公式分析4、RNN的优缺点及优化1&#xff09;LSTM是RNN的优化结构2&#xff09;GRU是LSTM的简化结构 二、ELMo1、简介2、模型结构1&#xff09;输入2&#xff09;左右双向上下文信…