OS X ssh 显示奇怪的 IP 地址

OS X ssh 显示奇怪的 IP 地址

我在 Mac OS X 上使用 DTrace 时发现以下脚本可以打印出有关正在建立的连接的信息:

$ cat 脚本.d

syscall::connect:entry
{
printf("execname: %s\n", execname);
printf("pid: %d\n", pid);
printf("sockfd: %d\n",arg0);

socks = (struct sockaddr*)copyin(arg1, arg2);

hport = (uint_t)socks->sa_data[0];
lport = (uint_t)socks->sa_data[1];
hport <<= 8; 
port = hport + lport; 
printf("Port number: %d\n", port); printf("IP address: %d.%d.%d.%d\n",
 socks->sa_data[2],
 socks->sa_data[3],
 socks->sa_data[4],
 socks->sa_data[5]);
printf("======\n");
}

我在一个窗口中运行它:
$ sudo dtrace -s ./script.d

然后我从另一个窗口 ssh 到另一台机器。我从 dtrace 窗口获得以下输出:

CPU     ID                    FUNCTION:NAME
  0  18696                    connect:entry execname: ssh
pid: 5446
sockfd: 3
Port number: 22
IP address: 192.168.0.207
======

  0  18696                    connect:entry execname: ssh
pid: 5446
sockfd: 5
Port number: 12148
IP address: 109.112.47.108
======

^C

我可以解释的第一个 IP 地址(192.168.0.207)是我要连接的机器。但是 109.112.47.108 机器是怎么回事?它没有出现在 tcpdump 或 netstat -an 中

我的 dtrace 代码或我对 connect 系统调用工作原理的理解是否存在问题?

答案1

我想我已经明白了,这是我从 Solarius 网站获取的 dtrace 脚本,需要针对 BSD 进行更改。

答案2

尝试对该地址进行跟踪路由,看看它在哪里。如果距离只有几跳,则可能是防火墙或交换机。

答案3

这是意大利的 Vodaphone IP 地址。您是否已连接到欧洲/意大利的 ISP?如果没有,最好开始担心。

答案4

说什么grep 'sshd.*from' secure.log?如果除了你之外还有人通过 SSH 登录,那么你就有问题了。如果他们没有,很可能是暴力破解尝试失败。您正在运行 DenyHosts 或 Fail2Ban 吗?

我找不到有关 syscall::connect 的任何文档,但它似乎打印出了套接字的两端。当您运行脚本并从另一台机器 ssh 时会发生什么?

相关内容