如何追踪我的网络脚步

如何追踪我的网络脚步

问题(简洁版):

在我的日志文件中我可以在哪里找到有关我离开登录屏幕和我舒适地进入桌面屏幕之间执行的网络步骤的信息?

$ uname -a
Linux schmo 3.2.0-31-generic-pae #50-Ubuntu SMP Fri Sep 7 16:39:45 UTC 2012 i686 i686 i386 GNU/Linux

问题(包含多个子句的较长版本):

谁、哪个守护进程或哪些脚本负责在登录时设置我的网络设置?我发现几次修改尝试/etc/network/interfaces要么被忽略,要么以无法正常工作的设置告终,但两行原始环回版本工作正常。我想知道操作实际发生在哪里。

如果当前可用的日志文件中的当前反馈级别的分辨率不够高,无法捕捉登录期间执行的网络更改,那么我应该在哪些.confbash脚本中添加 echo 和 dump 语句,或者应该注意和设置哪些环境变量?

动机(至少其中之一):

我该如何告诉我的计算机建立无线桥接我的无线网络适配器已启动并正在运行,这本身似乎只发生在我登录时,有时在单击 Firefox 之后完成,但在我记得查找 wifi 状态图标之前,啊。

我目前所做的:

  • 使用 KVM 成功将运行精确服务器 i686 的 VM 添加到我的精确桌面 i686

  • 通过建议的桥接设置成功更新、升级并添加到虚拟机上的软件包http://devilsworkshop.org/tutorial/create-virtual-machineos-ubuntu-1204-kvm/59576/,并遵循https://help.ubuntu.com/12.04/serverguide/index.html,同时从我的桌面进行 ssh 连接。 这意味着桥梁正在运行,即使只有一个会话。我的猜测是,在我设置/etc/network/interfaces文件和不再通过虚拟机访问互联网之间,我(或 KVM,或其他人)对我的配置文件所做的更改仅部分地通过我的系统从启动到启动、从重启到重启传播,无论这意味着什么。

  • 尝试通过/etc/network/interfaces各种形式添加 wlan0 来恢复 VM 互联网访问,包括安装,但没有成功wpa_supplicant

  • 收到错误,wpa_supplicant我相信我能够追溯到每次我重新启动网络时 wpa 服务都在神秘地运行的事实。这让我发现...

  • AVAHI 不会因为被进程 #1 重生而保持死亡状态;avahi然后运行其他东西,并且可能导致通常令人满意但现在令人烦恼的每次我登录时无线连接都恢复正常(或者如果我尝试修改则不恢复/etc/network/interfaces)的行为。

有更多详细信息;告诉我你想要什么。我正在玩一场“滑梯与梯子”的游戏,我通过尝试迄今为止所学到的知识积累了大量知识,但对基本术语和标准操作程序的无知使我无法把事情整合在一起。

我已经看过这个了help.ubuntu.com 页面。请注意无线桥接部分。我暂时忽略这个警告是有理由的。

答案1

至于这个简短的问题(请注意我添加的 cmd #,从 0 开始):

0) dmesg | grep wlan0

将提供有关无线路由器的系统事件(自您最近一次启动以来)的时间戳。请注意,有些人的设备可能被称为“eth0”或除“wlan0”之外的其他变体,这取决于内核、设备管理和其他超出此受访者理解范围的配置设置。

接下来,按照grep链条走。如有疑问,请查找您能想到的所有地方。所有地方能想到的是/etc/var/log

  • /etc包含定义几乎所有服务行为的配置文件和脚本,毫不夸张地说。
  • /var/log是这些服务转储其输出以进行日志记录的标准位置,无论其形式是否人眼可轻易识别。

注意:在内存、CPU 时间和磁盘空间充足的当前系统上,递归grep'ing不会造成任何损害。熟悉协调的 bio break 和 ctrl-C,这可能需要一段时间。还要考虑将输出重定向到文件,以便稍后阅读。除非您真的知道这些系统目录下隐藏着什么,否则不要这样做。这些系统目录很快就会变得多余、递归、过于冗长、非文本和无数。/sudo grepgrep

我从以下 grep 中获得了大量信息:

1) grep "wlan0" -R /var/log 2>/dev/null

grep将吐出我从dmesg 有些内容dmesg没有显示 - 比如调用每个时间戳或进程 ID 的进程名称、上次启动时的行数、我甚至不知道的文件名称等/var/log/udev...

题外话:udev什么都做!

然而,这grep -R需要一些解构。为了立即将其与初始语句联系起来,请从(括号中的数字)grep中取出任何时间戳,然后尝试dmesg

2) grep "\[ 8529.265562\]" -A 10 /var/log/syslog 2>/dev/null

你可以用你感兴趣的任何时间戳替换我的时间戳。注意:为了尽可能不让新手使用,shell 和正则表达式人员要求你添加这些反斜杠括号内的内容,即\[\],不要简单地复制粘贴。为什么?进入壁垒,这就是原因。阅读grep 和正则表达式

以上内容grep -A应该会为您提供您所期望的行dmesg(它也与其余内容一起记录在 /var/log/syslog 中)及其后续 10 个条目:

$ grep "\[11766.363095\]" /var/log/syslog -A 10 2>/dev/null
Oct 19 08:57:40 mitzvah kernel: [11766.363095] wlan0: authenticate with 12:34:56:78:9a:bc (try 1)
Oct 19 08:57:40 mitzvah kernel: [11766.365183] wlan0: authenticated
Oct 19 08:57:40 mitzvah NetworkManager[1261]: <info> (wlan0): supplicant interface state: authenticating -> associating
Oct 19 08:57:41 mitzvah kernel: [11766.638899] wlan0: associate with 12:34:56:78:9a:bc (try 1)
Oct 19 08:57:41 mitzvah kernel: [11766.641406] wlan0: RX AssocResp from 12:34:56:78:9a:bc (capab=0x411 status=0 aid=2)
Oct 19 08:57:41 mitzvah kernel: [11766.641411] wlan0: associated
Oct 19 08:57:41 mitzvah wpa_supplicant[1866]: Associated with 12:34:56:78:9a:bc
Oct 19 08:57:41 mitzvah kernel: [11766.646978] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Oct 19 08:57:41 mitzvah NetworkManager[1261]: <info> (wlan0): supplicant interface state: associating -> associated
Oct 19 08:57:42 mitzvah NetworkManager[1261]: <info> (wlan0): supplicant interface state: associated -> 4-way handshake
Oct 19 08:57:42 mitzvah wpa_supplicant[1866]: WPA: Key negotiation completed with 12:34:56:78:9a:bc [PTK=CCMP GTK=CCMP]

嘿,看!第 6 行有 wpa_supplicant。当时它的进程 ID 是 1866。还有另一个听起来像网络管理器的进程,称为 NetworkManager。这就是我要找的罪魁祸首,它一直在对我的网络设置挥舞魔杖。

当然,这还没完。我谷歌了一下 NetworkManager ;我重新grep检查了 wpa_client 上的 log 和 /etc 目录,并获得了更多信息。当我的网络状态最差时,我无法弄清楚 NetworkManager 是如何知道它在背地里做了什么,我在以下命令中找到了帮助:

3) grep wlan0 -R /etc
...
/etc/udev/rules.d/70-persistent-net.rules:SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="12:34:56:78:9a:bc", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
...

我认为,该/etc/udev/rules.d/70-persistent-net.rules文件保存了有关我非永久设备的信息,这些设备在各个会话之间都存在。这就是各种服务能够看起来好像知道您不时插入和拔出什么的原因;它们确实知道,因为有人在记录它。

所有这些仅供参考。我的主要动机不满意:我还没有从启动中启动我的 wlan0。希望如此。

Linux - Because I like banging my head against walls.

相关内容