【初心者向け】Kali LinuxでIPアドレスを確認する方法|基本コマンドから実例まで

Linux

Kali Linuxを使ってネットワークのテストや調査をしていると、まず必要になるのが「自分のIPアドレスを確認する」ことです。

でもLinuxに不慣れだと
「どのコマンドを使えばいいのかわからない」
「IPv4とIPv6のどちらが表示されているのかわからない」
と迷うことが多いです。

この記事では、Kali LinuxでIPアドレスを確認する基本的な方法を、初心者向けにわかりやすく解説します。

スポンサーリンク

Kali Linuxにおけるネットワーク基礎知識

IPアドレスの種類と用途

プライベートIPアドレス

IPアドレス範囲用途Kali Linuxでの表示例
192.168.x.x家庭・小規模オフィス192.168.1.100
10.x.x.x企業ネットワーク10.0.0.50
172.16.x.x-172.31.x.x中規模ネットワーク172.16.10.20

特殊なIPアドレス

ループバックアドレス

  • 127.0.0.1:自分自身を指すアドレス
  • ::1:IPv6のループバック

リンクローカルアドレス

  • 169.254.x.x:DHCPが利用できない時の自動割り当て
  • fe80:::IPv6のリンクローカル

Kali Linux特有のネットワーク環境

ペネトレーションテスト用途での特徴

よく見かけるインターフェース

  • eth0/ens33:有線ネットワーク
  • wlan0:無線ネットワーク
  • wlan0mon:モニターモード設定時
  • tun0/tap0:VPN接続時
  • veth:Docker/コンテナ環境

仮想化環境での注意点

  • VMware:通常はens33
  • VirtualBox:通常はenp0s3
  • Hyper-V:通常はeth0

基本的なIPアドレス確認コマンド

ipコマンド(推奨)

基本的な使用方法

全インターフェース情報表示

ip addr

短縮形

ip a

出力例

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 86400sec preferred_lft 86400sec
    inet6 fe80::xx:xx:xx:xx/64 scope link 
       valid_lft forever preferred_lft forever

出力内容の詳細解説

インターフェース情報の読み方

要素意味
inetIPv4アドレス192.168.1.100/24
inet6IPv6アドレスfe80::xx:xx:xx:xx/64
link/etherMACアドレス00:0c:29:xx:xx:xx
state UPインターフェース状態UP(有効)/ DOWN(無効)
mtu最大転送単位1500(イーサネット標準)

特定インターフェースの確認

特定のインターフェースのみ表示

ip addr show eth0

IPv4アドレスのみ表示

ip -4 addr show eth0

IPv6アドレスのみ表示

ip -6 addr show eth0

効率的な情報抽出

IPアドレスのみを抽出

IPv4アドレスだけを取得

ip -4 addr show eth0 | grep inet | awk '{print $2}' | cut -d/ -f1

より簡潔な方法

ip -4 -o addr show eth0 | awk '{print $4}' | cut -d/ -f1

全インターフェースのIPv4アドレス

ip -4 addr | grep inet | grep -v 127.0.0.1 | awk '{print $2}' | cut -d/ -f1

ワンライナーでの確認

アクティブなインターフェースのIPアドレス

ip route get 8.8.8.8 | awk '{print $7; exit}'

デフォルトゲートウェイの確認

ip route | grep default | awk '{print $3}'

ifconfigコマンド(従来型)

基本的な使用方法

インストールと実行

net-toolsのインストール

sudo apt update
sudo apt install net-tools

基本的な実行

ifconfig

特定インターフェースの確認

ifconfig eth0

ifconfigの出力例

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::xx:xx:xx:xx  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:xx:xx:xx  txqueuelen 1000  (Ethernet)
        RX packets 1234  bytes 123456 (120.5 KiB)
        TX packets 567   bytes 56789 (55.4 KiB)

ipとifconfigの比較

項目ip コマンドifconfig
標準搭載△(要インストール)
開発状況アクティブ非推奨
機能性高機能基本的
表示形式詳細シンプル
IPv6対応完全対応基本対応

グローバルIPアドレスの確認

外部サービスを利用した確認

基本的な方法

curlを使用

curl ifconfig.me

IPv4を明示的に取得

curl -4 ifconfig.co

IPv6アドレスの取得

curl -6 ifconfig.co

複数のサービス

代替サービス一覧

# 様々な外部サービス
curl ifconfig.me
curl ipinfo.io/ip
curl icanhazip.com
curl ident.me
curl whatismyip.akamai.com

JSONでの詳細情報取得

# 位置情報も含む詳細情報
curl ipinfo.io/json

# 出力例
{
  "ip": "203.0.113.1",
  "city": "Tokyo",
  "region": "Tokyo",
  "country": "JP",
  "loc": "35.6762,139.6503",
  "org": "AS1234 Example ISP",
  "timezone": "Asia/Tokyo"
}

ローカルネットワークでの確認

内部ネットワーク情報

ネットワーク設定の確認

# ルーティングテーブル
ip route show

# DNSサーバー確認
cat /etc/resolv.conf

# ネットワーク統計
ss -tuln

Kali Linux特有のネットワーク環境

ペネトレーションテスト環境

VPN接続時の確認

OpenVPN接続後

# VPNインターフェースの確認
ip addr show tun0

# VPN経由のグローバルIP確認
curl --interface tun0 ifconfig.me

Wireguard接続時

# Wireguardインターフェース確認
ip addr show wg0

# Wireguard接続状態
sudo wg show

無線ネットワーク環境

無線インターフェースの確認

# 無線インターフェース一覧
iwconfig

# 詳細な無線情報
iw dev

# 接続状態確認
iw wlan0 link

モニターモード設定後

# モニターモードインターフェース確認
ip addr show wlan0mon

# 無線監視状態確認
iw wlan0mon info

仮想化・コンテナ環境

Docker環境での確認

Dockerネットワーク

# Dockerブリッジ確認
ip addr show docker0

# コンテナ内IPアドレス確認
docker exec -it container_name ip addr

仮想マシン環境

VMware環境

# VMware Tools確認
vmware-toolbox-cmd stat hosttime

# ホストとの通信確認
ping $(ip route | grep default | awk '{print $3}')

高度なネットワーク分析

詳細なネットワーク情報

インターフェース統計情報

詳細統計の確認

# インターフェース統計
ip -s link show

# より詳細な統計
cat /proc/net/dev

パケット統計の監視

# リアルタイム統計監視
watch -n 1 'cat /proc/net/dev'

# 特定インターフェースの監視
iftop -i eth0

ネットワーク接続状況

アクティブな接続確認

# TCPポート確認
ss -tuln

# 詳細な接続情報
netstat -tupln

# プロセス別ネットワーク使用
sudo ss -tupln

トラブルシューティング

接続性の確認

基本的な疎通確認

# ローカルゲートウェイへのping
ping $(ip route | grep default | awk '{print $3}')

# DNSサーバーへのping
ping 8.8.8.8

# 名前解決確認
nslookup google.com

ルーティング問題の診断

# ルーティングテーブル確認
ip route show table all

# 特定宛先へのルート確認
ip route get 8.8.8.8

# tracerouteでの経路確認
traceroute 8.8.8.8

実用的なスクリプトとエイリアス

便利なエイリアス設定

.bashrcへの追加

# ~/.bashrcに追加する便利なエイリアス
alias myip='curl -s ifconfig.me'
alias localip='ip -4 addr show | grep inet | grep -v 127.0.0.1 | awk "{print \$2}" | cut -d/ -f1'
alias netinfo='ip addr show && echo "--- Global IP ---" && curl -s ifconfig.me'
alias ports='ss -tuln'

設定の反映

source ~/.bashrc

IPアドレス確認スクリプト

包括的なネットワーク情報スクリプト

#!/bin/bash
# network_info.sh - ネットワーク情報一覧表示

echo "=== Network Interface Information ==="
ip addr show | grep -E "^[0-9]+: |inet "

echo -e "\n=== Active Interfaces ==="
ip link show | grep "state UP" | awk -F: '{print $2}' | awk '{print $1}'

echo -e "\n=== Routing Table ==="
ip route show

echo -e "\n=== DNS Servers ==="
cat /etc/resolv.conf | grep nameserver

echo -e "\n=== Global IP Address ==="
timeout 5 curl -s ifconfig.me || echo "Unable to retrieve global IP"

echo -e "\n=== Network Statistics ==="
ip -s link show | grep -A1 "state UP"

実行方法

chmod +x network_info.sh
./network_info.sh

特定用途のスクリプト

VPN接続確認スクリプト

#!/bin/bash
# vpn_check.sh - VPN接続状態確認

echo "=== VPN Interface Check ==="
if ip addr show | grep -q "tun0\|wg0"; then
    echo "VPN interface found:"
    ip addr show | grep -E "tun0|wg0" -A2
    
    echo -e "\n=== VPN IP Address ==="
    VPN_IP=$(ip addr show tun0 2>/dev/null | grep inet | awk '{print $2}' | cut -d/ -f1)
    if [ -z "$VPN_IP" ]; then
        VPN_IP=$(ip addr show wg0 2>/dev/null | grep inet | awk '{print $2}' | cut -d/ -f1)
    fi
    echo "VPN Local IP: $VPN_IP"
    
    echo -e "\n=== Global IP via VPN ==="
    curl -s ifconfig.me
else
    echo "No VPN interface detected"
    echo "Current global IP:"
    curl -s ifconfig.me
fi

セキュリティとプライバシー

情報漏洩の防止

機密性の高い環境での注意点

ログ削除

# コマンド履歴からネットワーク情報を削除
history | grep -E "ip|ifconfig|curl" | cut -d' ' -f1 | xargs -I {} history -d {}

一時的な確認

# 履歴に残さない実行
set +o history
ip addr show
curl ifconfig.me
set -o history

匿名化とプライバシー

Tor経由での確認

# Tor経由でのグローバルIP確認
torify curl ifconfig.me

# Tor接続状態確認
curl -s --socks5 127.0.0.1:9050 ifconfig.me

トラブルシューティング

よくある問題と解決法

インターフェースが表示されない

問題の診断

# 全インターフェース確認(DOWN状態も含む)
ip link show

# ドライバー状態確認
lspci | grep -i network
lsmod | grep -i network

解決方法

# インターフェースの有効化
sudo ip link set eth0 up

# ネットワークサービス再起動
sudo systemctl restart networking

IPアドレスが取得できない

DHCP問題の解決

# DHCP更新
sudo dhclient -r  # リリース
sudo dhclient     # 再取得

# 特定インターフェースでのDHCP
sudo dhclient eth0

静的IP設定

# 一時的な静的IP設定
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip route add default via 192.168.1.1

DNS解決の問題

DNS設定確認

# DNS設定確認
cat /etc/resolv.conf

# DNS解決テスト
nslookup google.com
dig google.com

まとめ

Kali LinuxでIPアドレスを確認する方法について、重要なポイントをまとめます:

基本コマンド

  • 推奨ip addr(現代的、高機能)
  • 従来型ifconfig(要net-toolsインストール)
  • グローバルIPcurl ifconfig.me(外部IP確認)

Kali Linux特有の環境

  • VPN接続:tun0、wg0インターフェースの確認
  • 無線環境:wlan0、モニターモード時の変化
  • 仮想化:VMware、VirtualBoxでのインターフェース名

効率化のコツ

  • エイリアス設定:よく使うコマンドの短縮
  • スクリプト化:複数情報の一括取得
  • フィルタリング:必要な情報のみ抽出

セキュリティ配慮

  • ログ管理:機密情報の履歴削除
  • 匿名化:Tor経由での確認
  • プライバシー:情報漏洩の防止

トラブル対応

  • 接続診断:ping、traceroute、DNS確認
  • インターフェース管理:有効化、DHCP更新
  • ルーティング:経路確認と修正

コメント

タイトルとURLをコピーしました