我试图获取IP和主机名列表并将其与netstat拉取相关联。 目前来自netstat pull的相关信息是(源IP,源端口和目标IP)。但是netstat并没有在我正在使用的环境中提取主机名。所以我创建了第二个与IP和主机名相关的表。此网络中没有DNS,因此假设此表关系是唯一可行的方法。目前我的查询如下:
SELECT
IP_network.IP_src AS [Source IP]
IP_lookup.Hostname AS [Source Hostname]
IP_network.Port_src AS [Source Port]
IP_network.IP_dst AS [Destination IP]
IP_lookup.Hostname AS [Destination Hostname]
FROM IP_network
INNER JOIN IP_lookup ON IP_network.IP_src = IP_lookup.IP
我遇到的主要问题之一是将Hostname列与Source IP明确链接,并将单独的Hostname链接到Destination IP。例如,
Source IP Source Host Source Port Destination IP Destination Hostname
---------- ------------ ------------ --------------- ---------------------
127.0.0.1 22 192.168.0.1
10.10.10.1 Host1 22 127.0.0.1 Host1
10.50.10.1 Host2 23 10.10.50.1 Host2
10.50.10.1 Host3 23 10.10.50.1 Host3
我还想让任何NULL主机名读作' UNK',但我无法在Access中使用IsNull命令。任何想法都有帮助,谢谢你的时间。
答案 0 :(得分:0)
您可以使用不同的别名多次加入同一个表。像这样:
SELECT
ipne.IP_src AS [Source IP]
iplo1.Hostname AS [Source Hostname]
ipne.Port_src AS [Source Port]
ipne.IP_dst AS [Destination IP]
iplo2.Hostname AS [Destination Hostname]
FROM IP_network AS ipne
INNER JOIN IP_lookup AS iplo1 ON iplo1.IP = ipne.IP_src
INNER JOIN IP_lookup AS iplo2 ON iplo2.IP = ipne.IP_dst
关于空值,请查看以下问题:coalesce alternative in Access SQL