【发布时间】:2016-01-21 13:09:04
【问题描述】:
我已将我的 PPTP 服务器配置为自动为客户端分配 IP。
我很想知道当前分配给特定用户的本地 IP 是什么。我实际上有一个脚本来确定远程 IP,但实际上我没有找到找到 LAN IP 的方法。
这是 CHAP 文件中的示例行,如您所见,IP 是自动分配的:
test pptpd 0802928d37e151f338696d1601040570 *
谢谢!
【问题讨论】:
我已将我的 PPTP 服务器配置为自动为客户端分配 IP。
我很想知道当前分配给特定用户的本地 IP 是什么。我实际上有一个脚本来确定远程 IP,但实际上我没有找到找到 LAN IP 的方法。
这是 CHAP 文件中的示例行,如您所见,IP 是自动分配的:
test pptpd 0802928d37e151f338696d1601040570 *
谢谢!
【问题讨论】:
我正在阅读更多内容(几天后),并且有一个 PPTP“数据库”可供您使用。
以下代码:
#!/usr/bin/perl -w
@line = `/usr/bin/tdbdump /var/run/pppd2.tdb |grep "PEERNAME="`;
foreach $user (@line) {
chomp ($user);
undef $name;
undef $iplocal;
@record = split (/\;/, $user);
foreach $field (@record) {
if ($field =~ /PEERNAME/) {
$field =~ s/PEERNAME\=//gi;
$name = $field;
}
if ($field =~ /IPREMOTE/) {
$field =~ s/IPREMOTE\=//gi;
$field =~ s/(.*)\\.*/$1/gi;
$iplocal = $field;
}
}
if ((defined $name) && (defined $iplocal)) {
print ("$iplocal $name\n");
}
}
我复制了脚本 /usr/bin 以便轻松运行。示例输出将是这样的:
root@localhost:~# wppp
192.168.0.128 test
我希望它可以帮助某人:)
【讨论】: