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
出力内容の詳細解説
インターフェース情報の読み方:
要素 | 意味 | 例 |
---|---|---|
inet | IPv4アドレス | 192.168.1.100/24 |
inet6 | IPv6アドレス | fe80::xx:xx:xx:xx/64 |
link/ether | MACアドレス | 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インストール) - グローバルIP:
curl ifconfig.me
(外部IP確認)
Kali Linux特有の環境
- VPN接続:tun0、wg0インターフェースの確認
- 無線環境:wlan0、モニターモード時の変化
- 仮想化:VMware、VirtualBoxでのインターフェース名
効率化のコツ
- エイリアス設定:よく使うコマンドの短縮
- スクリプト化:複数情報の一括取得
- フィルタリング:必要な情報のみ抽出
セキュリティ配慮
- ログ管理:機密情報の履歴削除
- 匿名化:Tor経由での確認
- プライバシー:情報漏洩の防止
トラブル対応
- 接続診断:ping、traceroute、DNS確認
- インターフェース管理:有効化、DHCP更新
- ルーティング:経路確認と修正
コメント