ネットワーク内の他のコンピューターのIPアドレスを知るにはどうすればよいですか?


51

同じネットワークに2台のコンピューターが接続されているとします。computer1とファイル共有が有効になっていることから、computer2内をスヌープできることを知っています。ただし、computer2には面白いものがあり、safariでlocalhost:9091と入力してアクセスするとします。(たとえば、トランスミッションのWeb UI)。これにアクセスするには、computer1でip_address_of_computer2:9091を入力する必要があります。

しかし、computer2を使用せずにcomputer2のIPアドレスを見つけるにはどうすればよいですか?


computer2の名前を知っていますか?
user151019

回答:


82

方法#1

最も簡単な方法は、ネットワークルーターの管理ページにアクセスすることです。IPアドレスなど、ネットワーク上の他のデバイスに関する情報が含まれます。

方法#2

コンピュータのネットワーク名がわかっている場合pingは、ターミナルで確認できます。コンピューターのIPアドレスが返されます。

方法#3

コンピュータのネットワーク名がわからない場合は、別のトリックを使用して実行できますping。IPアドレスとサブネットマスクを見つけます。両方がシステム環境設定のネットワーク環境設定ペインに表示されるはずです。IPアドレスと0サブネットマスクを並べ、サブネットマスクの値を255IPアドレスの同じ相対位置に置き換えます。たとえば、次のIPアドレスとサブネットマスクをそれぞれ持っている場合:

192.168.1.151

255.255.255.0

0あなたが持つIPアドレスの最後のフィールドを置き換えるので、サブネットマスクの最後のフィールドであり255、それをping:ping 192.168.1.255

pingに応答できるネットワーク上のデバイスのIPアドレスで応答を取得する必要があります。

方法#4

最後の秘は、端末コマンドを使用することarp -aです。これにより、ネットワーク上の既知のすべてのデバイスのIPアドレスとMACアドレスが表示されます。

最後の2つのトリックは、この Macworldの記事によるものです。


8
方法#4 arp -aは、Macがすでに正常にプローブされているか、ホストに接続されている場合にのみ機能します。Macを再起動してarpテーブルを表示してみてください。ほとんど空になります。:あなたがpingスキャンのようなものを実行する必要があり、そのテーブルを移入するにはnmap -sP 192.168.1.0/24
ripat

何らかの理由で、192.168.1.255にpingを実行すると、ネットワーク内のすべてのMacからアドレスが返されますが、Linuxマシンからは返されません?!?しかし、素晴らしいヒントです!
ssc 14年

1
ping SOME-PC -4IPV4解決を先送りするため。
ナキロン14

Windowsコンピューターにpingを実行している場合、これは機能しますか?
カラブ

1
@cullubはい、Windowsで動作します。ping adminPCadminPCコンピューターにpingを実行し、IPアドレスを表示します。そして、ナキロンがコメントしたようにping adminPC -4、IPv4を表示します。
ラッキー

19

コマンドを入力します

  arp -a

これにより、すべての接続が1つずつ表示されます。


これは一部のデバイスでは機能しないようです。デバイスが「リッスン」していないためなのか、OSが異なるためなのarp -aかはわかりませんが、今試してみて、Linuxボックスの1つをピックアップしていません。
-Jacksonkr

コンピューター上の別のデバイスと初めて話をするとき、コンピューターはIP-> MACを解決する必要があるため、「誰がIP xxx.yyy.zzz.aaaを持っていますか?」をブロードキャストし、そのIPの所有者が応答します(ブロードキャスト) "me!"で、そしてもちろんそのパケットにはソースMACがあります。デバイスがネットワーク上にある間にそのトランザクションが行われなかった場合、そのデバイスにはARPエントリがありません。したがって、すべてのデバイスがARPテーブルに表示されるわけではありませんが、他のデバイスのARPテーブルに表示される場合があります。
Harv

4

Q:ネットワーク内の他のコンピューターのIPアドレスを知るにはどうすればよいですか?

多くのネットワーク

まあ、最初にあなたのコンピューターはおそらく多くのネットワーク上にあります。これはifconfigコマンドで確認できます。そこには多くの情報がありますが、そのほとんどは圧倒的ですので、フィルタリングしたいのは次のようなものです:

$ ifconfig | grep -E '^[a-z0-9]|inet '

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    inet 127.0.0.1 netmask 0xff000000
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 192.168.0.101 netmask 0xffffff00 broadcast 192.168.0.255
en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
en2: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
    inet 172.141.0.10 --> 172.141.0.9 netmask 0xffffffff
en5: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    inet 169.254.146.193 netmask 0xffff0000 broadcast 169.254.255.255
bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 192.168.3.1 netmask 0xffffff00 broadcast 192.168.3.255

左揃えの行の最初のフィールドは、ネットワークインターフェイス名です。あなたのWiFiはおそらくen0です。AWSへの私のTunnelBlick VPNはutun1です。システム設定>共有> bridge100RaspberryPi用に作成されたインターネット共有MacBook Proからイーサネットドングル経由でインターネットを取得しています。

IPv4を想定

あなたがIPアドレスを求めたので、私はIPv4アドレスがあなたが気にしているものだと思います。「inet」(スペース付き)を使用して、IPv6の「inet6」エントリをブロックしました。IPv6が必要な場合は、おそらく私よりもネットワークについて詳しく知っていると思いますので、質問してください。

ホストを見つける

bridge100それに焦点を合わせて、Googleのトラフィックを少し増やしましょう。多くの人が、ネットワーク上またはインターネット共有を介してテザリングされたヘッドレスコンピューター(RaspberryPiなど)にSSHまたはRDCを使用したい場合、この状況に陥ります。デバイスとの接続履歴(arpテーブル)がない場合は特に困難です。これには、bridge100 inet(192.168.3.1)の値で、最後の数字を「0/24」に置き換えたものを使用できます。ただし、nmapはOSXでは標準ではないため、homebrewでインストールできます。sudo nmap -sn 192.168.3.0/24

$ brew install nmap
Warning: nmap-7.31 already installed

$ sudo nmap -sn 192.168.3.0/24
Password:

Starting Nmap 7.31 ( https://nmap.org ) at 2016-11-21 22:03 EST
Nmap scan report for 192.168.3.6
Host is up (0.00025s latency).
Nmap scan report for 192.168.3.1
Host is up.
Nmap done: 256 IP addresses (2 hosts up) scanned in 2.08 seconds

それから、あなたは私のRaspberyPiが192.168.3.6何らかの理由でIP を取得したと推測できます。前回接続したとき、別のサブネット上にありました192.168.2.3。そのnmapトリックは、入力するよりもはるかに優れていますping 192.168.3.2... ping 192.168.3.6見つかるまで。

それがお役に立てば幸いです。


3

ホスト名があり、mDNS(Mac環境ではBonjourとも呼ばれます)を使用していると仮定すると、IPアドレス情報を検出するためのまだ言及されていないツールがいくつかあります。異なる設定を行っていない限り、ローカルネットワーク名は次の形式にhost-name.localなっているため、最初の例ではcomputer2.local

最初:

    dscacheutil -q host -a name <host-name>.local

例えば:

    % dscacheutil -q host -a name computer2.local
    name: computer2.local
    ip_address: 10.0.1.6

もう1つの便利なツールはdigdig google.comたとえば、試してみてください)、いくつかの特別なパラメーターを使用して、ローカルネットワークのmDNSノードを照会することができます。

    % dig @224.0.0.251 -p 5353 <host-name>.local
    % dig @224.0.0.251 -p 5353 -x <ip-address>

IPアドレスのみを取得するには、dig次を試してください。

    % dig +short @224.0.0.251 -p 5353 <host-name>.local

IPアドレスまたはコンピューターのマルチキャストDNS名(.local)を知っている必要があります。
フロリアンビダベ14年

BonjourBrowserは、このための素晴らしいGUIアプリケーションです。
フロリアンビダベ14年

@FlorianBidabe-これらのコマンドを使用するには、IPアドレスを知る必要があると言うのはなぜですか?これらのコマンドは、指定されたマシンのIPアドレスを返します。はい、この方法を使用するには、ターゲットマシンの名前を知る必要があります。
KenB 14年

3

このスクリプトを使用すると、探しているものがすぐに得られ、nmapをインストールする必要があります。利点は、ホストがpingプローブに応答しない場合でも、nmapがホストを検出する一方で、他のツールは検出しないことです。

#!/bin/bash
i="en1" # edit this to fit your Network interface
cidr=$(while read y; do echo ${y%.*}".0/$(m=0; while read -n 1 x && [ $x = f ]; do m=$[m+4]; done < <(ifconfig $i | awk '/mask/             {$4=substr($4,3); print $4}'); echo $m )"; done < <(ifconfig $i | awk '/inet[ ]/{print $2}') | head -n 1 | sed s/addr://g | sed 's/\/0//g')
myip=`ifconfig $i | grep "inet " | awk 'NR==1 {print $2}' | sed s/addr://g`
set -x
sudo nmap -n -T4 -PN -p9091 --exclude "$myip" "$cidr"

このスクリプトlookup.shを次のように保存し、(英語に切り替えて)呼び出します

LANG=c bash lookup.sh

どのように保存して実行しますか?
ダニエルペンダーガスト

これをTextEditorに貼り付け、保存してこのファイルに「qnmap」という名前を付けます。次に、このファイルを/ usr / binに移動します(ホールドコマンド+ Shift + G、またはFinder / Go / Go toフォルダ:/ usr / bin)。ターミナルを開き、「sudo chmod a + x / usr / bin / qnmap」と入力します。ターミナルで「qnmap」と入力し、結果を待ちます。
フロリアンビダベ14年

OK。私はこのエラーを受け取ります:/usr/bin/qnmap: line 2: =en1: command not foundあるiべきではない前にドル記号のように見えます。
ダニエルペンダーガスト14年

1
ごめんダン、私の悪い、行は次のようにする必要があります:i = "en1"
フロリアンビダベ14年

クール。うまくいきます。
ダニエルペンダーガスト

2

netstatを使用してネットワークアドレスを表示することもできます。

roger.moore@WKSTCAL0141 ~
$ netstat -n

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    127.0.0.1:11235        127.0.0.1:49184        ESTABLISHED
  TCP    127.0.0.1:49155        127.0.0.1:49156        ESTABLISHED
  TCP    127.0.0.1:49156        127.0.0.1:49155        ESTABLISHED
  TCP    127.0.0.1:49184        127.0.0.1:11235        ESTABLISHED
  TCP    192.168.10.131:445     192.168.10.119:52624   ESTABLISHED
  TCP    192.168.10.131:1433    192.168.10.2:60866     ESTABLISHED
  TCP    192.168.10.131:1433    192.168.10.119:52775   ESTABLISHED
  TCP    192.168.10.131:3389    192.168.10.119:54473   ESTABLISHED
  TCP    192.168.10.131:49154   192.168.10.119:52796   ESTABLISHED
  TCP    192.168.10.131:49182   192.168.10.9:52230     ESTABLISHED
  TCP    192.168.10.131:49247   192.168.10.6:445       ESTABLISHED
  TCP    192.168.10.131:49432   192.168.10.4:1106      ESTABLISHED
  TCP    192.168.10.131:49440   192.168.10.4:1106      ESTABLISHED
  TCP    192.168.10.131:49451   192.168.10.6:1025      ESTABLISHED
  TCP    192.168.10.131:55100   192.168.10.2:445       ESTABLISHED
  TCP    192.168.10.131:64558   192.168.10.20:135      TIME_WAIT
  TCP    192.168.10.131:64559   192.168.10.20:49158    TIME_WAIT
  TCP    192.168.10.131:64566   192.168.10.100:135     TIME_WAIT
  TCP    192.168.10.131:64575   192.168.10.100:59811   TIME_WAIT
  TCP    192.168.10.131:64581   192.168.10.41:139      TIME_WAIT
  TCP    192.168.10.131:64582   192.168.10.3:5357      TIME_WAIT
  TCP    192.168.10.131:64585   192.168.10.61:3910     TIME_WAIT
  TCP    192.168.10.131:64587   192.168.10.65:3910     TIME_WAIT
  TCP    192.168.10.131:64588   192.168.10.9:139       TIME_WAIT
  TCP    192.168.10.131:64589   192.168.10.135:2869    ESTABLISHED
  TCP    192.168.10.131:64593   192.168.10.6:135       TIME_WAIT
  TCP    192.168.10.131:64594   192.168.10.6:1025      TIME_WAIT
  TCP    192.168.10.131:64599   192.168.10.100:59811   TIME_WAIT


0

Wiresharkをインストールして、ネットワークカードでスキャンを開始できます。

「nbns」で結果をフィルタリングすると、上部ウィンドウにIPアドレスが表示されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.