avatar
Articles
137
Tags
120
Categories
17
Home
Archives
Categories
Tags
About
LITREILY
Search
Home
Archives
Categories
Tags
About

LITREILY

简单实用的tftp烧录image脚本
Created2020-04-27|Linux
烧录FW image时,经常需要打开带有UI界面的tftp客户端,然后输入IP,选择FW image,然后点击写入,很是繁琐。 为了简化这个过程,我决定使用shell script,在win10中自带WSL(windows subsystem for linux),配合zsh食用。 #!/bin/zsh # install to ~/bin/burnImage [ "x$1" = "x" ] && echo "usage: ${0##*/} <imagefile>" && exit 1 tftp 192.168.1.1 <<-EOF > /dev/null binary put $1 EOF 脚本使用tftp连接tftp server 192.168.1.1, 然后进入binary模式,最后将image文件$1传输至server端。 使用...
NBNS客户端的C语言实现
Created2020-03-15|Embedded
接上一篇【网络协议详解1 - NBNS】对NBNS的介绍,这一篇将要讲述使用C语言如何实现一个NBNS客户端,用于向局域网内其它设备发送NBNS NODE STATUS QUERY,并将接收到的RESPONSE信息打印出来。其实也就是一个UDP socket的实例。 编写一个客户端,首先要清楚它要完成什么任务,进而确定完成任务的方法和步骤。其任务很简单,就是NBNS数据包的发送和接收,也就是一个简单的socket收发进程。实现主要分以下几步: 组包得到NBNS NODE STATUS QUERY 发送NBNS NODE STATUS QUERY 接收RESPONSE并解析 include & define首先来看看编写该客户端会用到的头文件及相关宏定义 #include <stdio.h> #include <stdlib.h> /* for exit */ #include <string.h> /* for memset */ #include <unistd.h> /* for close */ #include <sys/soc...
使用油猴脚本批量下载canvas图片
Created2020-03-15|Tools
女友最近在网上下载一些北大网盘的pdf文档,结果发现没有下载接口,另存为也只能存储单张图片。找我帮忙,这时候发现程序员男票的好处了哈。 分析页面一开始想着使用Chrome调试工具看下pdf链接,发现这个网盘居然不是直接获取的pdf文件,而是使用js脚本动态渲染生成的,涨知识了。 那看看是否可以以图片形式批量下载呢,结果查看pdf单页的html结构发现,这居然是个canvas!!!还不是普通图片,而是画布。 下载插件没关系,canvas什么的也不是难事,万能的油猴插件总会有解决方案的,果不其然让我找到个专门用于下载svg, canvas的油猴插件↓ 网站图片(背景图,svg,canvas)抓取预览下载 下载图片这正是我想要的,安装好后,使用起来非常简单,刷新要下载canvas图片的页面,在右下角有一个按钮自动获取图片。 点击之后开始扫描,注意下图中的数字并不代表实际的图片数量,不用理会。 扫描完成后,可以限定图片大小,以滤除不符合要求的小图片,然后通过批量下载完成下载,对于数量较多的页面可能需要稍微等一小会,绝大部分情况是很快的。 这样就下载完成啦。 至于如何将批量...
网络协议详解1 - NBNS
Created2020-02-28|NetworkProtocol
NetBIOS 简介NetBIOS,Network Basic Input/Output System的缩写,一般指用于局域网通信的一套API,相关RFC文档包括 RFC 1001, RFC 1002. RFC 1001主要对NetBIOS及相关协议和服务进行解释说明,RFC 1002给出了相关协议和服务的数据组包格式。 NetBIOS提供三种软件服务: Service Name Port Protocol Short Name NetBIOS Name service 137 UDP/TCP NBNS NetBIOS Datagram 138 UDP NBND NetBIOS Session service 139 TCP NBSS 本文主要描述最常见的NBNS. NBNS 简介NBNS是NetBIOS name service的缩写,是NetBIOS的命名服务,用于将NetBIOS名称映射到IP地址上,是NetBIOS-over-TCP(NBT)协议族的一份子。NBNS是动态DNS的一种,Microsoft的NBNS实现称为WINS。路由器可以通过...
Setup dhcpd/dhcpdv6 server
Created2020-01-17|Network
搭建DHCP server在许多网络应用中是非常必要的,尤其是测试IPv6相关的功能时,本文就来介绍下针对IPv4和IPv6该如何搭建DHCP server. Install dhcpd server首先通过apt安装isc-dhcp-server sudo apt install isc-dhcp-server Setup dhcpdConfig interfaces通过ifconfig获取以太网口的接口名称, 下面省略了loopback接口lo,后面也是一样默认省略。 $ ifconfig enp4s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 20:6a:8a:6c:0f:da txqueuelen 1000 (Ethernet) RX packets 154583 bytes 186953698 (186.9 MB) RX errors 0 dropped 2 overruns 0 frame 0 TX pack...
根据socket端口号查看进程信息
Created2020-01-15|Linux
根据已知的一个端口号,以telnet默认端口号23为例,去查找系统中监听该端口号的进程,主要可以通过下面3种方式。 netstat使用netstat可以查看系统网络状态,-p参数可以显示对应的进程信息pid/process $ netstat -anp |grep ":23" tcp 0 0 192.168.1.1:23 0.0.0.0:* LISTEN 3698/utelnetd tcp 0 0 192.168.1.1:23 192.168.1.10:10381 ESTABLISHED 3698/utelnetd 从上面的信息中可以看到两条信息: 监听23端口的进程是pid为3698的utelnetd 目前存在一个已连接的client,client IP为192.168.1.10,tcp连接端口为10381 lsof在Linux系统中,一切皆为文件,socket也不例外,而lsof指令用于list open files,能够显示系统所有已经打...
awk '!a[$0]++'去重小技巧
Created2020-01-09|Linux
今天碰到一个关于awk的去重用法,觉得挺有意思的,记录一下 awk 按行去重awk '!a[$0]++' file 是个神奇的用法,通过它可以实现文件内容去重 $0: 代表整行 a[]: 代表数组a,名称随意,首次调用时为空 ++: 与C/C++中的++一个含义,i++先使用i后i自增1,++i代表i先自增1然后被使用 !: 代表取反 所以a[$0]代表对当前行构建一个名为a的数组,首次构建后其值为0 a[$0]++代表先使用a[$0]的值,然后a[$0]的值自增1。首次调用自然就是0,下次遇到重复的行就变为1,所以不加!的情况下,该语法用于打印重复项,看下面的例子↓ $ cat test aaa bbb aaa ccc bbb aaa ddd bbb $ awk 'a[$0]++' test aaa bbb aaa bbb 它把文件中重复的行都打印出来了。为了去重,我们只需在前面加个取反符!即可,这便是!a[$0]++了 $ awk '!a[$0]++' test aaa bbb ccc ddd awk 按列去重上面使用$0构建数组,如果我们使用第i列的...
insmod内核模块提示Unknown Symbol问题处理
Created2019-11-07|Embedded
问题描述在调试内核crash问题时打开了lockup相关的kernel CONFIG,重新编译FW后发现有个内核模块insmod失败 [Wed Nov 06 15:51:57.384 2019] ip6t_CONE: Unknown symbol rcu_bh_lock_map (err 0) [Wed Nov 06 15:51:57.384 2019] ip6t_CONE: Unknown symbol lock_acquire (err 0) [Wed Nov 06 15:51:57.384 2019] ip6t_CONE: Unknown symbol lock_release (err 0) 手动使用insmod重新加载也是提示相同的错误。 问题分析原本这个问题是不存在的,出现的原因必然和启用的CONFIG相关,对比前后两个FW的ip6t_CONE.ko # old .ko $ strings ip6t_CONE.ko |grep rcu # new .ko $ strings ip6t_CONE.ko |grep rcu rcu_bh_lock_map 发现新的....
1…8910…18
avatar
litreily
simple life
Articles
137
Tags
120
Categories
17
Follow Me
Announcement
This is my Blog
Recent Posts
每日东方美人探索 2026-06-18
每日东方美人探索 2026-06-182026-06-18
每日东方美人探索 2026-06-17
每日东方美人探索 2026-06-172026-06-17
每日东方美人探索 2026-06-16
每日东方美人探索 2026-06-162026-06-16
每日东方美人探索 2026-06-15
每日东方美人探索 2026-06-152026-06-15
每日东方美人探索 2026-06-14
每日东方美人探索 2026-06-142026-06-14
Categories
  • AI1
  • Android20
  • Embedded24
  • Language27
    • LabVIEW7
    • Lua3
    • Matlab4
    • Python13
Tags
matlabwindowsjekyllrubylabviewbracketsgittoolstdmsatomC/C++utorrentmusicubuntulinuxsignalstm32hexotestVSalgorithmRSSFeedlogofficewordmakefileshellwiresharktelnetsmtptmuxspidersinaddoshping3mysqlcentosscrapysort
Archives
  • June 2026 19
  • May 2026 1
  • September 2024 1
  • May 2024 1
  • February 2024 1
  • January 2024 1
  • December 2023 1
  • April 2023 1
Website Info
Article Count :
137
Unique Visitors :
Page Views :
Last Update :
© 2025 - 2026 By litreilyFramework Hexo 5.4.2|Theme Butterfly 5.5.4
Search
Loading Database