首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用HackRF做一个简单的IMSI捕获器

关于IMSI IMSI为国际用户识别码(International Mobile Subscriber Identity)的缩写,是用于区分蜂窝网络中不同用户的,在所在蜂窝网络中不重复的识别码。...IMSI可以用于在归属位置寄存器(HLR)和拜访位置寄存器(VLR)中查询用户信息,为了避免被监听者识别并追踪特定用户,有些情形下手机与网络之间的通信会使用随机生成的临时移动用户识别码(TMSI)代替IMSI...打开gr-gsm_livemon,选择刚刚获取的其中一个频率并进行微调,直到终端显示数据。 grgsm_livemon ? 出现数据就会像下图一样 ?...如果没有装kalibrate-hackrf,那只能从一开始给的频率慢慢调了。...打开wireshark可以查看更详细的信息 sudo wireshark -k -Y 'gsmtap && !icmp' -i lo 另:根据LAC和cellId可进行基站定位,阅读原文进入定位网站

2.8K50

如何使用 Set 来提高代码的性能

但是如果想让你的代码尽可能快速和可扩展,那么这些基本类型并不总是足够好。 在本文中,我们将讨论JS 中Set对象如何让代码更快— 特别扩展性方便。 Array 和Set工作方式存在大量的交叉。...set不使用索引,而是使用键对数据排序。set 中的元素按插入顺序是可迭代的,它不能包含任何重复的数据。换句话说,set中的每一项都必须是惟一的。...删除元素:在Set中,可以根据每项的的 value 来删除该项。在数组中,等价的方法是使用基于元素的索引的splice()。与前一点一样,依赖于索引的速度很慢。...保存 NaN:不能使用indexOf()或 includes() 来查找值 NaN,而 Set 可以保存此值。...set.add(sum - n))(new Set)); 因为Set.prototype.has()的时间复杂度仅为O(1),所以使用 Set 来代替数组,最终使整个解决方案的线性运行时为O(N)。

1.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何使用 Set 来提高代码的性能

    对于许多用例,这些都是需要的。但是如果想让你的代码尽可能快速和可扩展,那么这些基本类型并不总是足够好。 在本文中,我们将讨论JS 中 Set对象如何让代码更快— 特别扩展性方便。...set不使用索引,而是使用键对数据排序。 set 中的元素按插入顺序是可迭代的,它不能包含任何重复的数据。换句话说, set中的每一项都必须是惟一的。...删除元素:在 Set中,可以根据每项的的 value 来删除该项。在数组中,等价的方法是使用基于元素的索引的 splice()。与前一点一样,依赖于索引的速度很慢。...保存 NaN:不能使用 indexOf()或 includes() 来查找值 NaN,而 Set 可以保存此值。...set.add(sum - n))(new Set)); 因为 Set.prototype.has()的时间复杂度仅为 O(1),所以使用 Set 来代替数组,最终使整个解决方案的线性运行时为 O(N)

    1.3K30

    如何使用CentOS 7上的TICK堆栈监控系统指标

    SNMP 等等 您可以通过在终端窗口中运行来telegraf-usage plugin-name查看每个输入插件的使用说明。...要测试这个新创建的警报,请使用dd命令从/dev/zero中读取数据并将其发送到/dev/null来创建CPU峰值: $ dd if=/dev/zero of=/dev/null 让命令运行几分钟,这应该足以创建一个峰值...此外,您可以通过单击Chronograf用户界面左侧导航菜单中的警报历史记录来查看所有警报。 注意:确认可以接收警报后,请务必停止dd命令。 任何人都可以登录Chronograf。让我们来限制一下。...使用您的Github客户端ID,Github客户端密钥和Github组织来获取其他值。 警告:如果从命令中省略Github组织选项,则任何Github用户都可以登录到Chronograf实例。...结论 在本教程中,您看到了TICK如何成为用于存储,分析和可视化时间序列数据的强大工具。它有很多功能和用例,例如利用TICK搭建Docker容器可视化监控中心。

    2.5K50

    如何使用异常处理机制捕获和处理请求失败的情况

    为了解决这个问题,我们需要使用异常处理机制来捕获和处理请求失败的情况,从而提高爬虫的稳定性和稳定性。...可以使用 try-except 语句来执行可能发生异常的代码,并在 except 子句中捕获并处理异常。 可以使用 raise 语句来主动抛出异常,并在上层调用处捕获并处理异常。...异常处理机制的案例 为了演示如何使用异常处理机制来捕获和处理请求失败的情况,我们将使用 requests 库来发送 HTTP 请求,并使用异步技术来提高爬虫的速度。...在这个函数中,我们需要使用 try-except 语句来执行可能发生异常的代码,并在 except 子句中捕获并处理 requests.exceptions.RequestException 异常,这是...打印出 None 表示请求失败 print(None) # 调用 main 函数来执行主程序 asyncio.run(main()) 结语 通过上面的介绍和案例,我们可以看到,使用异常处理机制来捕获和处理请求失败的情况

    25320

    ​我们如何将 OpenTelemetry 与 Prometheus 指标相结合来构建强大的告警机制

    我们通过利用OpenTelemetry收集器来适配已在使用的 Prometheus(更具体地说,AWS 托管 Prometheus,我们选择使用它来减少内部管理的维护开销)来解决这一挑战,在这样既满足了用户的产品需求...我希望我们的经验能够展示如何使用开源项目构建解决方案,从而大大提高效率,以便工程团队可以花费宝贵的时间解决更多业务挑战。...在以下部分中,我将介绍: 为什么我们转向开源项目来建立我们的警报机制 从技术角度深入探讨我们如何构建警报 在我们的场景中使用 Prometheus 的优点和缺点 一些结束语 建立告警机制:无需重新发明轮子...我们知道该工具将涵盖未来的用例,并且它将做好生产准备,并将经过众多用户对其进行塑造和微调,这给了我们很大的信心,同时节省了我们的时间。...我们找到了一种将链路追踪跨度和指标关联起来的方法,这样当我们获取链路追踪数据跨度并将其转换为指标时,我们就知道如何将警报连接回业务逻辑。

    1.8K21

    我是如何使用 AI 来辅助自己写作的?

    给大家分享一下:我是如何用 AI 辅助写作的 标题平淡无奇、素材不够充实、遣词造句缺乏吸引力,这些问题是每个刚开始写作的人都会碰到的。...对于书中的专业术语,我们也可以让 AI 给出定义: 请解释文章中的**[专业术语]**: 给出通俗定义; 提供实际例子; 说明使用场景。...注意:AI 有时可能会虚构素材,所以我们仍需要使用搜索引擎核实关键数据,确保素材的真实性和可靠性。 第三,优化标题 标题决定了文章的首印象和点击率。一个好的标题不仅要吸引眼球,还要准确传达内容。...如果不确定如何提要求,也可以提供你觉得好的文章内容和标题,AI 会根据这些进行参考。 第四,生成封面图 写完文章后,很多人都会为配图而发愁。我们可以利用 AI 来帮助完成这一步骤。...尽管大部分 AI 模型无法直接根据文章内容生成封面图,或生成的图片与内容关联不大,但我们可以结合不同的 AI 工具来完成这一任务。

    13910

    如何利用甘特图来提高资源的是使用效率?

    项目经理可以通过颜色编码或标签来区分不同类型或不同技能的资源,从而更容易识别资源分配中的瓶颈或不平衡。3....优化资源平衡通过甘特图,项目经理可以轻松地识别哪些任务或时间段资源使用过多,哪些资源使用不足。通过调整任务的开始时间或重新分配资源,可以实现资源的更高效利用。4....例如,通过分析甘特图,项目经理可以决定是否需要增加资源以满足关键任务的需求,或者是否可以通过调整任务优先级来优化资源分配。7....使用高级功能一些高级的甘特图工具,如 zz-plan 提供了额外的功能来提高资源使用效率。例如:资源视图:专门展示资源分配和使用情况,帮助项目经理更好地理解资源需求。...批量操作:允许快速修改多个任务的资源分配,提高效率。结语通过上述策略,甘特图成为了提高资源使用效率的强大工具。

    15710

    如何使用 Git 和 GitHub 来管理自己的代码

    若选择了 "README" 选项,那么在创建仓库成功后可以点击 "README.md" 文件来修改并编译此文件。 ? 创建仓库成功 二、在windows下安装Git工具 1....-Use Git from Git Bash only:使用Git自带的Git Bash命令行工具 -Use Git form the Windows Command Prompt:使用Windows系统的...生成秘钥文件来连接 GitHub,在控制台输入如下指令并连续敲 3 次回车即可     $ ssh-keygen -t rsa -C "myMailbox@163.com"     备注:"myMailbox...如果在 GitHub 上创建仓库的时候将 "README" 选项选择了则就已经算是一次提交了,若需要在本地同步远程仓库的内容则使用如下命令即可     $ git pull git@github.com...,此时可以使用如下方法解决     $ git push --all -f     备注:强推即利用覆盖方式将你本地的代码替代 GitHub 仓库内的内容 6.

    1.7K20

    如何使用Excel来构建Power BI的主题颜色?

    Power BI很大一部分是用于可视化的展现,如果要设定自定义的主题颜色,通常都是使用json格式的文件来构建,其中json的格式文件以官网样例为例,很简单的几个参数既能构建主要色系。 ?...那如何使用Excel来快速生成主题格式的json文件呢? 要实现这个主题颜色的构建,需要有2个方面的条件。...颜色,需要使用16进制的颜色格式 参数名称,对应Power BI主题内容 如果我们要从Excel单元格颜色直接获取16进制的颜色命名,通常需要使用到VBA,可以自行搜索网上的VBA单元格颜色转16进制的程序...把dataColors的参数合并到主表格里,可以通过插入行的方式来实现。 ? 此时的dataColors的内容就是一个列表格式。...通过导入主题文件后,再来查看下主题颜色,和之前在Excel中输入的主题颜色对比下就能得到一个颜色列表,当然先忽略颜色的搭配,后续可以根据实际情况来进行搭配使用。 ?

    2.8K10

    如何使用XposedOrNot来判断自己的密码是否泄露

    XposedOrNot XposedOrNot(XoN)这款工具可以搜索一个由约8.5亿个实时密码组成的xposed密码聚合存储库,而网络攻击这可以使用这种泄露的密码来对用户的个人账户产生威胁,因此广大用户可以使用这个密码库来判断自己的账户安全情况...github.com/Viralmaniar/XposedOrNot.git cd XposedOrNot pip install -r requirements.txt python XposedorNot.py 如何解析输出...工具的输出结果由JSON格式数据组成,给出的是JSON输出而不是YES或NO的主要原因是为了确保广大用户可以进一步使用这些数据来开发和改进聚集在这里的大量实时公开的密码。...另外,还需要注意的一点是,我们使用了Keccak-512散列在XoN中搜索和存储数据。...像MD5和SHA1这样的传统散列算法目前已经被弃用了,而且考虑到公开的记录数量巨大,因此这里使用Keccak-512散列算法。

    81620

    如何使用 Tmuxp 来优雅的管理多个 Tmux 会话

    使用 tmuxp 可以很好的帮助我们来管理 tmux 的会话(session),解决了平时在使用 tmux 工具时候的痛点。 1....我们在使用的时候,可以使用 YAML, JSON 以及 dict 字配置项来启动我们配置好的窗口和面板。使用时候需要注意的是,只支持 tmux>=1.8 的版本。...当然我们也可以使用其提供的命令,进行会话的相关操作和使用。下来就让我们一起去看看,如何使用吧!...使用tmuxp来管理会话 - 两个窗格 session_name: 2-pane-vertical windows: - window_name: my test window panes:...测试开发配置 主要介绍在我们实际开发和测试当中应该如何使用该工具 [1] 定制高级开发环境 作为开发环境时候的相关配置 session_name: tmuxp start_directory: ./ #

    4.3K31

    如何使用 HTTP Headers 来保护你的 Web 应用

    开发者可以利用 HTTP 响应头来加强 Web 应用程序的安全性,通常只需要添加几行代码即可。本文将介绍 web 开发者如何利用 HTTP Headers 来构建安全的应用。...我们如何帮助用户避免这些攻击,并更好地推行 HTTPS 的使用呢?使用 HTTP 严格传输安全头(HSTS)。简单来说,HSTS 确保与源主机间的所有通信都使用 HTTPS。...includeSubDomains 此项指示浏览器对当前域的所有子域应用 HSTS,这可以用于所有当前和未来可能的子域。...上可用(Firefox 没有内置类似的机制,但是用户可以使用插件来获得此功能)。...CSP 是一个相对复杂的响应头,它有很多种指令,在这里我不详细展开了,可以参考 HTML5 Rocks 里一篇很棒的教程,其中提供了 CSP 的概述,我非常推荐阅读它来学习如何在你的 web 应用中使用

    1.2K10

    提问 | 如何利用一批去年的数据,来预测未来三年的数据?

    做一个模型大致思路是这样的: 1、分析数据特征 2、由数据特征来寻找较为符合的数据模型 3、以合适的方法估计出模型的参数值 4、检验估计出来的模型的优劣以及对未来值进行估计。...其实数据量的需求是根据你所要估计模型的参数个数来确定的。对于均值,哪个不是用样本期望来估计的,但为什么可以这样,为什么不是拿中位数,这样的估计效果如何,偏差大不大,又考虑过么。...本身由小量数据来估计的参数不准确,就算你用的是个无偏有效的估计方法,又有什么意义呢?...对于使用什么模型,其实都是要估计参数的,马尔可夫不是一样要估计转移矩阵么。...预测区间是指当你估计未来值时,这个区间以一定的概率包含你对未来值的正确估计。我们一般把一定的概率取为0.95.

    1.5K90

    Laravel如何使用数据库事务及捕获事务失败后的异常详解

    前言 如果大家在Laravel中要想在数据库事务中运行一组操作,则可以在 DB facade 中使用 transaction 方法。如果在事务的闭包内抛出异常,事务将会被自动还原。...你不需要担心在使用 transaction 方法时还需要亲自去手动还原或提交事务: DB::transaction(function () { DB::table('users')->update(['...方法: DB::beginTransaction(); 你也可以通过 rollBack 方法来还原事务: DB::rollBack(); 最后,可以通过 commit 方法来提交这个事务: DB::commit...(在laravel中使用查询构建器或者Eloquent ORM执行query时,如果失败会返回 IlluminateDatabaseQueryException 异常) 的关系 //通过attach方法来附加wiki和tag的关系(写入中间表) $newWiki->tags()->attach($tagIds); DB:

    1.7K30

    如何使用CentOS 7上的Lets Encrypt来保护Nginx

    在本教程中,我们将向您展示如何使用Let's Encrypt客户端certbot获取免费的SSL证书,并将其与CentOS 7上的Nginx一起使用。我们还将向您展示如何自动续订您的SSL证书。...这是必需的,因为Let's Encrypt如何验证您拥有为其颁发证书的域。例如,如果要获取example.com的证书,则该域必须解析到您的服务器才能使验证过程正常工作。...它通过查找server_name与您请求证书的域匹配的指令来完成此操作。...这会影响我们的服务器与其用户之间的初始密钥交换的安全性。我们可以通过创建一个新dhparam.pem文件并将其添加到我们的server块来解决这个问题。...要每天运行续订检查,我们将使用cron标准系统服务来运行定期作业。我们通过打开和编辑名为crontab的文件来告诉cron我们该怎么做。

    2.2K00
    领券