Skip to main content

Command Palette

Search for a command to run...

#networking

Articles tagged with #networking

  1. 使用ioctl扫描wifi信号获取信号属性的实例(一)

    使用 wifi 是一件再平常不过的是事情,有很多 wifi 工具可以帮助你扫描附近的 wifi 信号,测试信号强度等,但如何通过编程来操作 wifi 却鲜有文章涉及;本文立足实践,不使用任何第三方库,仅使用 ioctl 扫描附近的 wifi 信号,并获取这些 AP 的 ESSID、MAC 地址、占用信道和工作频率,本文将给出完整的源程序,今后还会写一些文章讨论如果编程获取 wifi 信号的其它属性(比如:信号强度、加密方式等)的方法,敬请关注;本文程序在 ubuntu 20.04 下编译测试完成...

    Jun 26, 202311 min read35
    使用ioctl扫描wifi信号获取信号属性的实例(一)
  2. 用c语言实现的一个dns客户端

    DNS可以帮助我们把域名映射到一个IP地址上,或者查询一个IP地址下有那些域名,使用域名访问一个网站或者服务器是一件很平常的事情,很少有人关心域名变成IP地址的实际过程,本文将使用C语言实现一个基本的DNS解析器,通过与DNS服务器的通信完成将一个域名转换成IP地址的过程,本文将提供完整的源程序;阅读本文需要有一定的网络编程基础,熟悉基本的socket编程并对DNS有一些了解,本文对网络编程的初学者难度较大。 1. 目标 本文要实现一个DNS的客户端解析器(DNS resolver),意即通...

    Mar 28, 20236 min read69
    用c语言实现的一个dns客户端
  3. 使用SOCK_DGRAM类型的socket实现的ping程序

    SOCK_DGRAM类型的socket常用于UDP通信,本文将尝试把这种socket用于ICMP协议,并完成一个简单的ping程序。使用ping去测试某个主机是否可用可能是一件很平常的事,尽管ping非常普通,但是编写一个实现ping功能的程序却并不是那么简单,因为ping使用的ICMP协议并不是一个应用层协议,在网上看到的实现ping的例子大多使用raw socket去实现,不仅增加了解析IP报头的麻烦,而且还需要有root权限才能运行,本文简要介绍ICMP协议,并给出一个使用普通的常用于UD...

    Mar 16, 20235 min read200
    使用SOCK_DGRAM类型的socket实现的ping程序
  4. 使用tun虚拟网络接口建立IP隧道的实例

    通常的socket编程,面对的都是物理网卡,Linux下其实很容易创建虚拟网卡;本文简单介绍一下Linux虚拟网卡的概念,并以tun设备为例在客户端和服务器端分别建立一个实际的虚拟网卡,最终实现一个从客户端到服务器的简单的IP隧道,希望本文能对理解虚拟网卡和IP隧道有所帮助,本文将提供完整的源程序;阅读本文需要具备在Linux下使用C语言进行IPv4下socket编程的基本能力,本文对网络编程的初学者难度较大。 1. Linux下的虚拟网卡TUN/TAP TUN和TAP是Linuxn内核的虚...

    Mar 7, 20234 min read271
    使用tun虚拟网络接口建立IP隧道的实例
  5. 使用sntp协议从时间服务器同步时间

    在互联网上校准时间,是几乎连接在互联网上的每台计算机都要去做的事情,而且很多是在后台完成的,并不需要人工干预;互联网上有很多时间服务器可以发布精确的时间,计算机客户端使用NTP(Network Time Protocol)协议与这些时间服务器进行时间同步,使本机得到精确时间,本文简要描述了NTP协议的原理,对NTP协议的时间同步精度做了简要分析,并具体实现了SNTP(Simple Network Time Protocol)下的客户端,本文附有完整的C语言SNTP客户端的源程序。阅读本文只需掌握...

    Feb 13, 20234 min read227
    使用sntp协议从时间服务器同步时间