V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
zhuzhuaini
V2EX  ›  OpenWrt

OpenWrt 里的如何抓 wan 的 dhcp 报文?

  •  
  •   zhuzhuaini · 88 天前 · 973 次点击
    这是一个创建于 88 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前提:WAN 接口跑 dhcp 获取光猫的 iptv 的 ip 使用的是 tcpdump 工具(只找到这个)

    我在抓包的时候碰到一个死循环问题,wan 一旦链接,就会自动发起 dhcp 报文然后获取到 ip 了,这个时候 tcpdump 开始抓包就已经抓不到了,但如果我先开启 tcpdump ,因为 wan 已经获取到 ip 了他不会再发包了,我必须得让这个 dhcp 释放掉重新连接,我试过几个方案,一个是点击 Web 界面上接口里的"连接"按钮,另外一个是 ifdown <interface_name>; ifup <interface_name>命令,但是不管哪个方法,都是导致因为接口 down 了,抓包自动停止,即使我打开两个终端以最快的手速执行 up 端口和开启抓包,都抓不到,这个时候死循环就来了,要抓 dhcp 必须得再接口打开之前开始抓,但是又因为 tcpdump 必须得抓一个已经打开的端口。。。。有方便又快捷的解决方案吗
    10 条回复    2024-01-30 13:24:47 +08:00
    hingle
        1
    hingle  
       88 天前
    先 kill udhcpc ,一切准备就绪后,手动启动 udhcpc
    zhuzhuaini
        3
    zhuzhuaini  
    OP
       88 天前
    @kernelpanic 我还真做过这个。。。之前抓盒子的 dhcp 包就是用的这个 但是吧 感觉操作太繁琐了 我还得拿个笔记本到附近去抓包
    zhuzhuaini
        4
    zhuzhuaini  
    OP
       88 天前
    @hingle 感觉有戏,,我之前就是一直再网上找怎么再不重启接口的情况下,释放 dhcp ,给的方案都是会重启接口的,晚上我试试这个哈
    morytyann
        5
    morytyann  
       88 天前
    先 tcpdump 抓包 然后执行 PID=`pidof udhcpc` && kill -SIGUSR1 $PID 手动 renew
    morytyann
        6
    morytyann  
       88 天前
    zhuzhuaini
        7
    zhuzhuaini  
    OP
       88 天前
    @morytyann 感谢 果然硬核
    julyclyde
        8
    julyclyde  
       88 天前
    拔线
    julyclyde
        9
    julyclyde  
       88 天前
    你需要那个接口处于
    administratively UP
    link DOWN
    的状态,开启 tcpdump
    zhuzhuaini
        10
    zhuzhuaini  
    OP
       88 天前
    @julyclyde 这我倒是没想过 意思是就算没接线 也可以开启 tcpdump ?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2870 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:43 · PVG 17:43 · LAX 02:43 · JFK 05:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.