返回顶部
首页 > 资讯 > 操作系统 >使用shell来发tcp包的方法
  • 837
分享到

使用shell来发tcp包的方法

shell发tcp包使用shell来发tcp包的方法 2022-06-04 22:06:44 837人浏览 薄情痞子
摘要

经常用tcpdump抓包来倒腾和学习,但怎么触发tcp包呢?写一个客户端程序,然后朝server上发包,肯定可以,但还有更简单的方法: exec 8<>/dev/tcp/10.100.70.139/190

经常用tcpdump抓包来倒腾和学习,但怎么触发tcp包呢?写一个客户端程序,然后朝server上发包,肯定可以,但还有更简单的方法:


exec 8<>/dev/tcp/10.100.70.139/19006
echo -e "stats" >&8

用tcpdump抓包的结果为:


xxxxxx$ sudo tcpdump -iany port 19006 -XNLPs0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type linux_SLL (Linux cooked), capture size 65535 bytes
23:56:54.177781 IP 10.100.70.139.34209 > 10.100.70.139.19006: Flags [S], seq 2048518213, win 43690, options [mss 65495,sackOK,TS val 1173337789 ecr 0,nop,wscale 8], length 0
    0x0000: 4500 003c 5ef8 4000 4006 39e6 0a64 468b E..<^.@.@.9..dF.
    0x0010: 0a64 468b 85a1 4a3e 7a19 e845 0000 0000 .dF...J>z..E....
    0x0020: a002 aaaa a20c 0000 0204 QsPRdffd7 0402 080a ................
    0x0030: 45ef b6bd 0000 0000 0103 0308 0000 0000 E...............
    0x0040: 0000 0000 0000 0000 0000 0000      ............
23:56:54.177794 IP 10.100.70.139.19006 > 10.100.70.139.34209: Flags [S.], seq 480321333, ack 2048518214, win 43690, options [mss 65495,sackOK,TS val 1173337789 ecr 1173337789,nop,wscale 8], length 0
    0x0000: 4500 003c 0000 4000 4006 98de 0a64 468b E..<..@.@....dF.
    0x0010: 0a64 468b 4a3e 85a1 1ca1 1f35 7a19 e846 .dF.J>.....5z..F
    0x0020: a012 aaaa a20c 0000 0204 ffd7 0402 080a ................
    0x0030: 45ef b6bd 45ef b6bd 0103 0308 0000 0000 E...E...........
    0x0040: 0000 0000 0000 0000 0000 0000      ............
23:56:54.177802 IP 10.100.70.139.34209 > 10.100.70.139.19006: Flags [.], ack 1, win 171, options [nop,nop,TS val 1173337789 ecr 1173337789], length 0
    0x0000: 4500 0034 5ef9 4000 4006 39ed 0a64 468b E..4^.@.@.9..dF.
    0x0010: 0a64 468b 85a1 4a3e 7a19 e846 1ca1 1f36 .dF...J>z..F...6
    0x0020: 8010 00ab a204 0000 0101 080a 45ef b6bd ............E...
    0x0030: 45ef b6bd 0000 0000 0000 0000 0000 0000 E...............
    0x0040: 0000 0000                ....
23:57:05.744655 IP 10.100.70.139.34209 > 10.100.70.139.19006: Flags [P.], seq 1:7, ack 1, win 171, options [nop,nop,TS val 1173340681 ecr 1173337789], length 6
    0x0000: 4500 003a 5efa 4000 4006 39e6 0a64 468b E..:^.@.@.9..dF.
    0x0010: 0a64 468b 85a1 4a3e 7a19 e846 1ca1 1f36 .dF...J>z..F...6
    0x0020: 8018 00ab a20a 0000 0101 080a 45ef c209 ............E...
    0x0030: 45ef b6bd 6865 6c6c 6f0a 0000 0000 0000 E...hello.......
    0x0040: 0000 0000 0000 0000 0000         ..........
23:57:05.744679 IP 10.100.70.139.19006 > 10.100.70.139.34209: Flags [.], ack 7, win 171, options [nop,nop,TS val 1173340681 ecr 1173340681], length 0
    0x0000: 4500 0034 a98b 4000 4006 ef5a 0a64 468b E..4..@.@..Z.dF.
    0x0010: 0a64 468b 4a3e 85a1 1ca1 1f36 7a19 e84c .dF.J>.....6z..L
    0x0020: 8010 00ab a204 0000 0101 080a 45ef c209 ............E...
    0x0030: 45ef c209 0000 0000 0000 0000 0000 0000 E...............
    0x0040: 0000 0000                ....
23:57:05.744830 IP 10.100.70.139.19006 > 10.100.70.139.34209: Flags [F.], seq 1, ack 7, win 171, options [nop,nop,TS val 1173340681 ecr 1173340681], length 0
    0x0000: 4500 0034 a98c 4000 4006 ef59 0a64 468b E..4..@.@..Y.dF.
    0x0010: 0a64 468b 4a3e 85a1 1ca1 1f36 7a19 e84c .dF.J>.....6z..L
    0x0020: 8011 00ab a204 0000 0101 080a 45ef c209 ............E...
    0x0030: 45ef c209 0000 0000 0000 0000 0000 0000 E...............
    0x0040: 0000 0000                ....
23:57:05.748555 IP 10.100.70.139.34209 > 10.100.70.139.19006: Flags [.], ack 2, win 171, options [nop,nop,TS val 1173340682 ecr 1173340681], length 0
    0x0000: 4500 0034 5efb 4000 4006 39eb 0a64 468b E..4^.@.@.9..dF.
    0x0010: 0a64 468b 85a1 4a3e 7a19 e84c 1ca1 1f37 .dF...J>z..L...7
    0x0020: 8010 00ab a204 0000 0101 080a 45ef c20a ............E...
    0x0030: 45ef c209 0000 0000 0000 0000 0000 0000 E...............
    0x0040: 0000 0000                ....

真的是爽歪歪。 能用shell搞定的事, 绝不用C/C++.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

--结束END--

本文标题: 使用shell来发tcp包的方法

本文链接: https://lsjlt.com/news/20237.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用shell来发tcp包的方法
    经常用tcpdump抓包来倒腾和学习,但怎么触发tcp包呢?写一个客户端程序,然后朝server上发包,肯定可以,但还有更简单的方法: exec 8<>/dev/tcp/10.100.70.139/190...
    99+
    2022-06-04
    shell发tcp包 使用shell来发tcp包的方法
  • Netty解决 TCP 粘包拆包的方法
    什么是粘包/拆包        一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据。TCP通讯为何存在粘...
    99+
    2024-04-02
  • 解决TCP粘包/拆包问题的方法及示例
    TCP粘包和拆包是网络编程中常见的问题,特别是在数据传输的过程中,可能会发生将多个数据包粘在一起或将一个数据包拆成多个数据包的情况,这可能会导致应用程序无法正确解析数据,从而造成数据错误或系统故障。本文将介绍TCP粘包和拆包的原因、解决方案...
    99+
    2023-09-25
    网络 服务器 tcp/ip c# 网络协议
  • Python简单实现TCP包发送十六进制数据的方法
    本文实例讲述了Python简单实现TCP包发送十六进制数据的方法。分享给大家供大家参考,具体如下: 举例: 0x12, 0x34可以直接拼成 "x12x34"。 客户端代码示例: #...
    99+
    2022-06-04
    简单 方法 数据
  • ethereal抓包分析TCP/IP数据帧的方法
    本文小编为大家详细介绍“ethereal抓包分析TCP/IP数据帧的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“ethereal抓包分析TCP/IP数据帧的方法”文章能帮助大家解决疑惑,下面跟着小编...
    99+
    2024-04-02
  • golang包的使用方法
    使用Go语言包的步骤有以下6步:1、创建一个新的包;2、在包的目录中,编写相应的代码文件;3、以大写字母开头使其可以被其他包导入并使用;4、在需要使用包中的代码时,使用”import "<包路径>"“的形式导入当前代码文件中;5...
    99+
    2023-12-18
    golang包 go语言 Golang
  • shell 使用指定的分割符来分割字符串的方法
    shell 如何用指定的分隔符来分割字符串让结果为一个字符串数组,类似 java 中的 split, 而 split 关键字已经留给文件分割了,故字符串就分割处理就不能在使用了,那如何来处理字符串串分割呢?方法有两种 ...
    99+
    2022-06-04
    shell 分割字符串 shell 字符串分割
  • java发送tcp报文的方法是什么
    Java发送TCP报文的方法有多种,可以使用原生的Java Socket类、Java NIO(New I/O)包中的Channel类...
    99+
    2023-09-12
    java
  • Golang开发命令行之flag包的使用方法
    目录1、命令行工具概述2、flag包介绍3、flag包命令行参数的定义4、flag包命令行参数解析5、flag包命令行帮助6、flag定义短参数和长参数7、示例 1、命令行工具概述 ...
    99+
    2024-04-02
  • Python闭包的使用方法
    目录1.闭包的定义和使用2.闭包内函数修改外函数定义的变量(加nonlocal)1.闭包的定义和使用 当返回的内部函数使用了外部函数的变量就形成了闭包闭包可以对外部函数的变量进行保存...
    99+
    2024-04-02
  • python解包的使用方法
    这篇文章主要介绍python解包的使用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开...
    99+
    2023-06-14
  • Android使用socket创建简单TCP连接的方法
    本文实例讲述了Android使用socket创建简单TCP连接的方法。分享给大家供大家参考,具体如下: 不管是在Java还是Android编程中,通信都是及其重要的一部分。有连...
    99+
    2022-06-06
    方法 socket Android
  • PHP中shell脚本的使用方法
    今天就跟大家聊聊有关PHP中shell脚本的使用方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。我们都知道,在计算机科学中,SHELL类似于DOS下的command.com。它接收...
    99+
    2023-06-17
  • Shell 参数传递的使用方法
    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为: $n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……具体实例:以下实例我们向脚本传递三个参数,并分别输出...
    99+
    2023-05-12
    Shell 参数传递 Shell 传递参数
  • Shell参数传递的使用方法
    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为: $n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…...
    99+
    2023-05-19
    Shell 参数传递 Shell 传递参数
  • 使用android-apktool来逆向(反编译)APK包方法介绍
    谷歌官方提供了apktool可以逆向已经发布出去的APK应用,即反编译已经打包成功的APK文件,使用它可以将其反编译成非常接近打包前的原始格式,对于APK来说,可以具体的逆向A...
    99+
    2022-06-06
    方法 apktool Android
  • PHP、Shell、Django:如何使用函数来改善您的Web开发?
    Web开发是一个需要不断进化的领域,为了让我们的应用更加健壮、高效,我们需要不断学习新的技术和工具。本文将讨论三种不同的编程语言(PHP、Shell和Django)以及如何使用函数来改善Web开发。 PHP PHP是一种流行的Web编程语言...
    99+
    2023-09-18
    shell django 函数
  • GoLangcontext包的使用方法介绍
    目录背景简介主要方法获得顶级上下文当前协程上下文的操作创建下级协程的Context场景示例背景 在父子协程协作过程中, 父协程需要给子协程传递信息, 子协程依据父协程传递的信息来决定...
    99+
    2023-03-15
    Go context Go context包 GoLang context
  • 编程算法的艺术:如何使用Shell命令来提高您的开发效率?
    在现代软件开发中,编程算法是不可或缺的一部分。编程算法可以帮助我们优化代码,提高程序的性能和效率。而在编程算法中,Shell命令是一个非常强大的工具。在本文中,我们将介绍如何使用Shell命令来提高您的开发效率。 一、Shell命令简介 ...
    99+
    2023-06-03
    编程算法 编程算法 shell
  • golang 使用 functools.partial 或类似的方法来完成包装其他函数
    问题内容 (golang 新手) 假设我有两个与底层 api 交互的函数,我想用重试来包装这两个函数,但这两个函数具有不同的输入参数。 在python中,我将使用functools.p...
    99+
    2024-02-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作