【开端】Linux抓包测试接口

news2024/9/20 5:37:02

一、绪论

    平时我们开发接口,可以通过程序去调用接口测试接口的情况,也可以通过postman去测试接口的联通情况,也可以直接通过命令去调试接口的情况。

二、几种接口调试方式

1、程序代码测试

    public static void main(String[] args) {
    	String  url = "http://127.0.0.1:8080/user/register";
    	
    	Map<String, Object> param = new HashMap<String, Object>();
    	param.put("phone", "180**360*09");
    	param.put("dialCode", "86");
    	param.put("idType", 0);
    	param.put("idNumber", "34272619***011010022");
    	param.put("sex", "0");
    	param.put("realName", "丽丽");
    	param.put("nationality", "CN");
    	param.put("nationalityCode", "CN");
    	param.put("storeOuCode", "");
    	param.put("isReceiveMsg", 0);
    	param.put("isReceiveEmail", 0);
    	param.put("isReceivePost", 0);
    	param.put("token", "C6F9DF946115456679A0F3035115520AED");
    	
    	System.out.println("========="+HttpUtils.doPost(url, param));
		
	}
    public static String doPost(String url, Map<String, Object> param) {
        // 创建Httpclient对象
        CloseableHttpClient httpClient = HttpClients.createDefault();
        CloseableHttpResponse response = null;
        String resultString = "";
        try {
            RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(3000)
                    .setSocketTimeout(3000).setConnectTimeout(3000).build();
            // 创建Http Post请求
            HttpPost httpPost = new HttpPost(url);
            httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded");
            httpPost.setConfig(requestConfig);

            // 创建参数列表
            if (param != null) {
                List<NameValuePair> paramList = new ArrayList<>();
                for (String key : param.keySet()) {
                    paramList.add(new BasicNameValuePair(key,  param.get(key).toString()));
                }
                // 模拟表单
                UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList, "utf-8");
                httpPost.setEntity(entity);
            }
            // 执行http请求
            response = httpClient.execute(httpPost);
            resultString = EntityUtils.toString(response.getEntity(), "utf-8");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (response != null) {
                    response.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        return resultString;
    }

2.通过postman去测试

3、window下通过命令去测试

curl -X POST -d "phone=180**36*804&dialCode=86&token=C6F9DF9461154335B9A0F43433035115520AED" http://127.0.0.1:8080/user/identify

Linux下的也是一样

curl -X POST -d "phone=180**36*804&dialCode=86&token=C6F9DF9461154335B9A0F43433035115520AED" http://127.0.0.1:8080/user/identify

Linux下抓包命令

sudo tcpdump -i eth0 port 8080

命令 sudo tcpdump -i eth0 port 8080 的作用是捕获(或监听)在 eth0 网络接口上所有目标端口或源端口为 8080 的 TCP/IP 数据包。这里是对该命令各部分的详细解释:

  • sudo:这是一个命令行程序,允许授权的用户以另一个用户的安全权限(通常是超级用户,即 root)来运行程序。在这个上下文中,它被用来提升 tcpdump 命令的权限,因为监听网络接口通常需要管理员权限。

  • tcpdump:这是一个强大的命令行网络分析工具,用于捕获或过滤流经网络接口的数据包。它可以捕获流经任何给定网络接口的几乎所有类型的数据包,并将它们显示在控制台上,或者保存到文件中以供后续分析。

  • -i eth0:这个选项告诉 tcpdump 监听哪个网络接口。在这个例子中,它监听的是 eth0 接口。eth0 通常是系统中第一个以太网卡的默认名称,但实际的网络接口名称可能因系统配置而异。

  • port 8080:这是一个过滤表达式,它指示 tcpdump 只捕获那些目标端口(dst port)或源端口(src port)为 8080 的数据包。端口 8080 是一个常用的非标准 HTTP 端口,但它也可以被用于其他服务。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2056896.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电子木鱼+提肛+游戏地图,车机还能这么玩?

文/王俣祺 导语&#xff1a;电子木鱼、提肛训练、游戏级地图&#xff0c;你很难想象这些“直男关怀”是来自小鹏MONA M03的车机系统。最近&#xff0c;一批关于MONA M03车机功能的视频在网上疯传&#xff0c;一系列“没用但有趣”的功能广受年轻用户的好评&#xff0c;情绪价值…

【Linux】搭建Openstack(一)

搭建openstack平台的总结 Openstack是一个开源的云计算平台&#xff0c;可以提供基础设施即服务&#xff08;IaaS&#xff09;的功能&#xff0c;让用户可以在自己的数据中心部署和管理虚拟化的资源。 Openstack是当今最具影响力的云计算管理工具——通过命令或者基于web的可…

PostgreSQL下载、安装(Windows 10/11 64位)详细教程【超详细,保姆级教程!!!】

本文介绍关于windows 11如何下载、安装PostgreSQL-15.8版本的详细步骤 一、下载PostgreSQL 1、进入官网 PostgreSQL下载地址&#xff08;官网&#xff09; 直达PostgreSQL下载页面&#xff08;官网&#xff09; 2、点击“Download the installer”链接&#xff0c;选择合适…

使用Seaborn绘制热力图

热力图是一种用于展示矩阵数据的图表&#xff0c;其中颜色深浅表示数据值的大小。 import seaborn as sns import numpy as np import matplotlib.pyplot as plt # 创建示例数据 data np.random.rand(10, 12) # 绘制热力图 sns.heatmap(data, annotTrue, cmapcoolwa…

Ubuntu20.04离线安装 Docker

1.下载3个docker离线安装包&#xff0c;下载网址&#xff1a; https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/2.把3个离线安装包拷贝到ubuntu本地执行以下命令 sudo dpkg -i containerd.io_1.4.6-1_amd64.deb sudo dpkg -i docker-ce-cli_20.10.…

蓝队技能-应急响应篇C2后门权限维持手法WindowsLinux基线检查排查封锁清理

知识点 1、应急响应-C2后门-排查&封锁 2、应急响应-权限维持-排查&清理 3、应急响应-基线检测-整改&排查演示案例-蓝队技能-C2后门&权限维持-基线检查&查杀封锁-Windows 1、常规C2后门-分析检测 无隐匿手法 也可以把怀疑的exe程序上传到沙箱上分析 有…

Java二十三种设计模式-中介者模式(22/23)

本文深入探讨了中介者模式&#xff0c;这是一种行为型设计模式&#xff0c;通过定义一个中介者对象来简化对象间的通信&#xff0c;降低耦合度&#xff0c;并提高系统的模块化&#xff0c;同时提供了实现示例、使用场景、优缺点分析、与其他设计模式的比较&#xff0c;以及最佳…

贪心算法,暴力递归

前缀树 如果想要查询“bc”就可以直接看有没有走向b的路&#xff0c;如果有的话就看c节点上面的e值为1那么就是有这个“bc”&#xff0c;还能看见加过几次&#xff0c;代价很低 如果想看有多少是以“ab”作为前缀的&#xff0c;那么就直接看b上面的p值 贪心算法 哪个会议结束时…

java中final的使用方法

package Test;/*** author gyf* ClassName Test* Date 2024/8/13 16:26* Version V1.0* Description :*/ public class Test {public static void main(String[] args) {// 被final修饰就不能修改变量了final int a 10;System.out.println(a);} } // 若父类用final 修饰 则子类…

基于Java和GeoTools的Shapefile矢量数据缩略图生成实践

目录 前言 一、关于GeoTools的图片生成 1、关于GtRenderer 2、关于 图像生成架构 3、流式计算绘制 二、全球空间预览生成实战 1、pom.xml中关于图像生成依赖 2、样式设置及地图资源绑定 3、图片生成绘制 4、图片生成测试 三、成果验证 1、全球范围生成 2、我国的范…

快速批量替换图片名称为指定名称(附代码)

目录 一、需求二、代码使用方法三、代码四、效果展示 一、需求 深度学习配对训练&#xff0c;有时配对图像的名称需要一致&#xff0c;这里写了一个脚本&#xff0c;快速批量替换图片名称中某些字符串。 二、代码使用方法 使用代码时需要修改的地方见下&#xff1a; 三、代码…

一文1600字从0到1JMeter全流程性能测试实战!

项目背景&#xff1a; 我们的平台为全国某行业监控平台&#xff0c;经过3轮功能测试、接口测试后&#xff0c;98%的问题已经关闭&#xff0c;决定对省平台向全国平台上传数据的接口进行性能测试。 01、测试步骤 1、编写性能测试方案 由于我是刚进入此项目组不久&#xff0c…

[HGAME 2023 week1]Classic Childhood Game

方法一&#xff1a;在控制台输入mota&#xff08;&#xff09; 方法二&#xff1a;查看页面源码发现多个js,一一查看 在./Res/Events.js中发现编码&#xff08;准确来说是字符串&#xff09; \x59\x55\x64\x6b\x61\x47\x4a\x58\x56\x6a\x64\x61\x62\x46\x5a\x31\x59\x6d\x35\x7…

基于MATLAB视觉的静态手势识别系统

一、课题介绍及思路 为了丰富手势识别方法的多样性&#xff0c;提高手势识别的正确率&#xff0c;提出了一种基于手势轮廓像素变化的手势识别方法。在Matlab环境下&#xff0c;设计并开发了一个基于视觉的静态手势识别系统。系统主要由两部分组成&#xff1a;手势分割与手势识…

八股总结----数据库(MySQL和Redis)

1.MySQL部分 11.基本写法 列出数据库&#xff1a;show databases&#xff1b;创建数据库&#xff1a;create database mysql_test&#xff1b;切换数据库&#xff1a;use mysql_test&#xff1b;列出表&#xff1a;show tables&#xff1b;创建表&#xff1a;create table st…

回归预测|基于最大互信息与支持向量机结合的数据回归预测Matlab程序MIC-SVM 多特征输入单输出

回归预测|基于最大互信息与支持向量机结合的数据回归预测Matlab程序MIC-SVM 多特征输入单输出 文章目录 前言回归预测|基于最大互信息与支持向量机结合的数据回归预测Matlab程序MIC-SVM 多特征输入单输出 一、MIC-SVM模型最大信息系数&#xff08;MIC&#xff09;的原理支持向量…

网路安全-防火墙安全区域简介

文章目录 1. 概念介绍1.1 什么是安全区域&#xff1f;1.2 安全区域的分类1.3 安全区域级别1.4 安全区域的作用是什么&#xff1f; 2. 实战2.1 ENSP实验设计1实验目标&#xff1a;实验步骤&#xff1a; 2.2 ENSP实验设计2实验目标&#xff1a;实验步骤&#xff1a; 2.3 实验总结…

线性表【双向循环链表基本定义与操作】(带头结点)

1.双向循环链表的特征与图解 让头结点的 前驱指针 指向 链表的最后一个结点让 最后一个结点 的后继指针 指向 头结点。 2.双向循环链表的重要操作 1.双向循环链表的结构定义 双向循环链表的结构与双向链表完全一致&#xff0c;不同之处在于它的尾结点的next指针指向头结点&am…

【Docker深入浅出】【四】单体应用容器化与Dockerfile怎么写

文章目录 一. 应用的容器化——简介二. 单体应用容器化1. 获取代码与分析Dockfile2. 容器化当前应用&#xff08;构建具体的镜像&#xff09;3&#xff0e;推送镜像到仓库4. 运行应用程序5. 小结 三. 生产环境中的多阶段构建四. 应用容器化命令 本文介绍了如何容器化&#xff0…

springboot的学习(三):开发相关

简介 一些开发测试时用到的技术。 springboot 热部署 修改了代码&#xff0c;服务器不需要重启可以直接看到新的修改的效果。仅仅加载当前开发者自定义开发的资源&#xff0c;不加载jar资源。 在pom.xml配置文件中添加&#xff1a; <dependency><groupId>org.s…