วิธีที่ง่ายที่สุดในการแสดงที่อยู่ IP ของฉันคืออะไร?


62

หลังจากที่ฉันบู๊ตแล้ววิธีที่ง่ายที่สุดในการรับและแสดงที่อยู่ IP ที่อุปกรณ์กำลังใช้อยู่คืออะไร?
ฉันใช้ Raspbian และifconfigดูเหมือนจะไม่ได้รับการติดตั้ง

มีวิดเจ็ตใด ๆ ที่แสดงข้อมูลนี้ใน LXDE หรือไม่?


4
มันอาจถูกติดตั้ง; คุณต้อง sudo ifconfig บนเดเบียน
อเล็กซ์แชมเบอร์เลน

ฉันรู้แล้วว่าตอนนี้ ฉันคิดว่าฉันได้รับความเสียหายตามคำแนะนำบรรทัดคำสั่งของ Ubuntu ฉันจะตรวจสอบมันเมื่อฉันกำลังสำรอง
Zoot

นั่นคือสิ่งที่ทุบตีมากกว่าสิ่ง Ubuntu ฉันคิดว่า ifconfig เพิ่งติดตั้งด้วยสิทธิ์ที่แตกต่างกัน
อเล็กซ์แชมเบอร์เลน

1
ใช่ฉันลืมที่จะ sudo ifconfig ได้รับการติดตั้งตามค่าเริ่มต้นแล้ว แต่จะมีคำสั่งไม่พบข้อผิดพลาดหากคุณไม่ทำ sudo ขอบคุณ!
Zoot

Raspbian ของฉันแสดงที่อยู่ IP ก่อนหน้าการแจ้งเตือนการเข้าสู่ระบบ
Thorbjørn Ravn Andersen

คำตอบ:


65

if family of tools รวมถึง ifconfig กำลังถูกคัดค้านและแทนที่ด้วยคำสั่ง ip ที่ใหม่กว่าเพื่อให้คุณสามารถใช้หนึ่งในสิ่งต่อไปนี้จากบรรทัดคำสั่งเพื่อกำหนดที่อยู่ IP ของคุณ:

sudo ip addr show

หรือ

sudo hostname --ip-address

หรือถ้าคุณยังต้องการใช้ ifconfig และยังไม่ได้ติดตั้ง

sudo apt-get install wireless-tools
sudo ifconfig -a

1
@jackweirdy ซึ่งเป็นเครื่องมือรุ่นใหม่ที่แทนที่ของเก่าหากเครื่องมือ ลอง man ip เพื่อดูรายละเอียดเพิ่มเติม
Steve Robillard

1
ขอบคุณที่เรียนรู้สิ่งใหม่วันนี้ :)
jackweirdy

มีคำสั่ง "arp" ที่จะแสดงบางอย่างให้คุณเห็นในบรรทัดที่อยู่ IP หรือไม่
Piotr Kula

4
ip aก็เพียงพอแล้วถ้าคุณต้องการที่จะได้รับที่อยู่ IP :)
Der Hochstapler

3
ไม่มีคำสั่งการแสดงผลใด ๆ ที่ต้องการสิทธิ์ sudo มันอาจจะแสดงเพราะผลข้างเคียงของการตั้งค่าเส้นทางของคุณเพื่อรวม / sbin คุณสามารถเรียกใช้/sbin/ifconfigหรือ/sbin/ipเป็นผู้ใช้ตามปกติ
XTL

12

คุณสามารถใช้สคริปต์ python นี้ได้เช่นกัน

import socket

def get_local_ip_address(target):
  ipaddr = ''
  try:
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect((target, 8000))
    ipaddr = s.getsockname()[0]
    s.close()
  except:
    pass

  return ipaddr
print "Raspberry Pi - Local IP Address"
print(get_local_ip_address('10.0.1.1'))
print(get_local_ip_address('google.com'))

9
คุณคิดไม่ออกใช่มั้ย ไม่มากที่จะแทนที่คำสั่ง Linux ที่มีอยู่ซึ่งทำได้เหมือนกัน
Jivings

2
@Jivings Bit harsh - มันเป็นคำตอบที่ได้ผล! (ฉันบอกว่าไม่มีการทดสอบ ... ) อาจเป็นพื้นฐานของวิดเจ็ตบนเดสก์ท็อปเช่น
อเล็กซ์แชมเบอร์เลน

1
@Bryan ยินดีต้อนรับสู่ Stack Exchange และ Raspberry Pi!
อเล็กซ์แชมเบอร์เลน

1
@AlexChamberlain ขออภัยไบรอัน ไม่ได้มีเครื่องชงกาแฟของฉันยังนี้ :) เช้า
Jivings

1
สิ่งนี้สามารถเพิ่มไปยังบริการข้อความที่ทำงานหลังจากเข้าสู่ระบบเพื่อแสดงที่อยู่ IP โดยอัตโนมัติพร้อมกับข้อความ startx จากนั้นมันจะเป็นอัตโนมัติโดยไม่ต้องพิมพ์
Steve Robillard

8

เป็นอีกทางเลือกหนึ่งในการค้นหาที่อยู่ IP ที่กำหนด DHCP ฉันได้เพิ่มที่อยู่ IP ที่สงวนไว้ในเซิร์ฟเวอร์เราเตอร์ / DHCP ของฉัน มันตรงกับที่อยู่ MAC ของ Raspi และกำหนดที่อยู่ IP เดียวกันเสมอ - แม้หลังจากติดตั้งระบบปฏิบัติการใหม่

ด้วย Wheezy ตอนนี้เมื่อเปิดใช้งาน SSH โดยค่าเริ่มต้นหมายความว่าฉันสามารถเข้าสู่ Raspberry Pi ที่ติดตั้งใหม่โดยไม่จำเป็นต้องเชื่อมต่อแป้นพิมพ์หรือจอภาพ

ขออภัยที่ไม่ตอบคำถามโดยตรง แต่ดูเหมือนว่าจะมีความเกี่ยวข้องมากพอที่จะแนะนำ


ถ้ามันช่วยให้ผู้คนค้นพบวิธีง่าย ๆ ในการกำหนด IP ฉันก็พอแล้วสำหรับมัน
Zoot

7

คุณสามารถตรวจสอบสถานะ / บันทึก DHCP บนเซิร์ฟเวอร์ DHCP ของคุณ โดยเฉพาะอย่างยิ่งถ้ามันอยู่ในเครือข่ายภายในบ้านของคุณ ในเราเตอร์ทั้งหมดที่ฉันเป็นเจ้าของเรื่องนี้ค่อนข้างหาง่าย

สิ่งนี้มีประโยชน์หากคุณกำลังเรียกใช้หัวขาดและต้องการทราบที่อยู่เพื่อ ssh


@gnibbler +1 สำหรับแก้ไขปัญหาสำหรับผู้ที่กำลังวิ่งหัวขาด มีใครคิดว่าต้องทราบการระบุว่าอุปกรณ์ใดที่ Pi สามารถใช้งานได้ยากเนื่องจากไม่ได้ระบุตัวเองผ่านเครือข่ายและอาจปรากฏขึ้นโดยไม่มีชื่อในรายการอุปกรณ์ที่เชื่อมต่อ กระทู้นี้raspberrypi.org/phpBB3/viewtopic.php?f=36&t=6998 มีปัญหาและวิธีแก้ปัญหาเพิ่มเติม
Steve Robillard

@SteveRobillard เหมืองไม่ระบุตัวเอง แต่ก็ยังอาจช่วยให้คนหากพวกเขาเห็นที่อยู่ MAC เริ่มต้นเช่นb8:27:eb:xx:xx:xxมันอาจเป็น RPI :)
จอห์นลา Rooy

5

อะไรที่ทำให้ฉัน:

sudo ifconfig

ตั้งแต่ifconfigเมื่อsbin/ifconfig


ในขณะที่ฉันชื่นชมคำตอบของคุณความคิดเห็นของ Alex Chamberlain และคำตอบของ Steve Robillard มีข้อมูลนี้อยู่แล้ว
Zoot

5

หากคุณต้องการดูที่อยู่ IP ภายนอกของคุณให้ใช้สิ่งนี้ในบรรทัดคำสั่งของคุณ

ขดhttp://ipecho.net/plain ; สะท้อน;

คุณสามารถสร้างฟังก์ชั่นเพื่อให้ง่ายขึ้น

แก้ไข. bashrc ของคุณและเพิ่มฟังก์ชั่นต่อไปนี้ในตอนท้ายของไฟล์

ฟังก์ชั่นเพื่อแสดงที่อยู่ IP ภายนอก

ฟังก์ชั่นเพื่อแสดงที่อยู่ IP ภายนอก

เรียกฟังก์ชั่นของคุณจาก cli

ป้อนคำอธิบายรูปภาพที่นี่

คุณอาจพบวิธีที่น่าสนใจในการรับที่อยู่ IP ของคุณในลิงค์นี้

http://www.if-not-true-then-false.com/2010/linux-get-ip-address/


5
$ host raspberrypi
raspberrypi has address 192.168.1.20

$ host raspberrypi | grep ‘address’ | cut -d’ ‘ -f4
192.168.1.20

$ nslookup 192.168.1.20
Server:  192.168.1.1
Address:    192.168.1.1#53
20.1.168.192.in-addr.arpa   name = raspberrypi.

$ nslookup 192.168.1.20 | grep ‘=’ | cut -d’ ‘ -f3
raspberrypi

2

Shea Silverman และ Jacob Bates เพิ่งสร้างเครื่องมือที่เรียกว่าPIPที่ช่วยให้คุณรับ IP ของราสเบอร์รี่ pi โดยไม่ต้องติดกับหน้าจอเนื่องจากมันจะติดตั้งสคริปต์ที่ส่งที่อยู่ IP ของคุณไปยังเซิร์ฟเวอร์ที่คุณสามารถเยี่ยมชมด้วย พีซีหลัก อาจไม่ใช่ตัวเลือกที่ดีที่สุดในทุกสถานการณ์ แต่เป็นแฮ็คที่ฉลาดมาก


2

สคริปต์เด็กเพื่อส่งคืนที่อยู่ IP ทำงานจากพรอมต์:

รายการที่อยู่ ip grep inet | grep -v 127.0.0 | ตัด -d "" -f 6 | ตัด -d "/" -f 1


1

ฉันขอแนะนำให้คุณใช้ Bonjour แทนที่จะต้องค้นหาที่อยู่ IP ปล่อยให้มันถูกกำหนดผ่าน DHCP และตราบใดที่พีซีของคุณอยู่ในเครือข่ายเดียวกันคุณสามารถเข้าถึงได้โดยใช้ชื่อ

ตัวอย่างเช่น .. raspberrypi.local

เมื่อติดตั้งแล้วคุณสามารถเรียกใช้หัวขาดได้อย่างสมบูรณ์เชื่อมต่อกับ Pi ด้วย SSH หรือ VNC เป็นต้น

นี่คือบทความที่อธิบายวิธีการตั้งค่าสำหรับ Bonjour http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=18207

โปรดทราบว่าสำหรับเครื่อง windows คุณจะต้องติดตั้งไดรเวอร์บริการเครื่องพิมพ์ Bonjour สิ่งเล็ก ๆ ...

สำหรับ Mac และ Ubuntu Bonjour มีอยู่แล้ว


0

เพียงแค่เพิ่มส่วนเสริมบางส่วนที่นี่เหตุผลที่คุณอาจไม่มี ifconfig ก็เพราะระบบของคุณอาจใช้ชุด iproute2 แทน iproute2 รวมการอัปเดตที่เทียบเท่าของ ifconfig และชุดเส้นทางเก่า

ฉันกำลังนำเรื่องนี้ขึ้นมาเพราะถ้าคุณเริ่มลองใช้คำสั่งที่คุณคุ้นเคยกับ ifconfig หรือเส้นทางสัญชาตญาณแรกของคุณอาจจะติดตั้งแพ็คเกจเก่าเหล่านั้นแทนการใช้สิ่งใหม่ที่เทียบเท่า ตัวอย่างเช่นหากคุณจำเป็นต้องใช้ netstat และรู้ว่ามันหายไปเพียงทำการค้นหา "iproute2 netstat ที่เทียบเท่ากัน" และคุณควรหาคำสั่ง "ss" สำหรับการอ่านเพิ่มเติมและเอกสารอ้างอิงอ้างอิงถึงบทความของ Linux Foundation ที่อยู่: http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2


1
ฉันขอขอบคุณคำตอบของคุณ แต่ฉันได้ติดตั้ง ifconfig แล้ว ฉันลืม sudo ก่อนที่คำสั่ง ตรวจสอบความคิดเห็นด้านล่างคำตอบ
Zoot

1
Doh! ฉันใช้ Arch เพียงอย่างเดียวและไม่ได้ใช้ ifconfig นานมาก
codey

ไม่มีปัญหา. มันทำให้ฉันเป็นห่วงเหมือนกัน
Zoot

ถึงตอนนี้, คุณไม่จำเป็นต้อง sudo สำหรับ ifconfig, คุณแค่ต้องโทรหาพา ธ ทั้งหมดเพราะมันไม่ได้อยู่ใน $ PATH ของคุณในขณะนี้ โดยที่ ifconfig จะให้เส้นทางแก่คุณหากจำเป็น จากนั้นคุณสามารถเรียกใช้จากที่นั่น sudo ไม่ใช่คำตอบ!
djsmiley2k - CoW

0

ฉันเห็นคำตอบที่หลากหลาย บางอย่างที่ฉันรู้และบางอย่างที่ฉันไม่รู้ นอกจากนี้ยังมีสิ่งหนึ่งที่ฉันมักจะใช้ที่ไม่ได้ระบุไว้ ถ้ามันมีและฉันพลาดมันก็โอ๊ะขอโทษ

ชื่อโฮสต์ sudo -I


0

หนึ่งซับด้วย ifconfig และ sed:

sudo ifconfig wlan0 | sed -En -e 's/.*inet ([0-9.]+).*/\1/p'

แทนที่ wlan0 ด้วยอินเตอร์เฟสที่ต้องการ


-1
curl ipinfo.io 

ใช้ได้กับฉันทั้ง Ubuntu และ Raspbian


เพียงชี้แจงสำหรับผู้ที่อาจไม่ทราบ: คำตอบเฉพาะนี้จะให้ที่อยู่ IP ภายนอก (ที่เข้ากับอินเทอร์เน็ต) ของเราเตอร์ LAN หรือไฟร์วอลล์ที่ Raspberry Pi เปิดอยู่ มันจะไม่ให้ที่อยู่ IP ของ LAN ของ Pi เอง สิ่งนี้อาจมีประโยชน์สำหรับการแก้ไขปัญหาอินเทอร์เน็ต ในการรับที่อยู่ IP ในระบบ LAN ตามที่คำถามขอให้ดูคำตอบอื่น ๆ ที่นี่ในคำถามนี้
MrChips

-2

ฉันเชื่อว่าarp -aใน windows หรือ linux จะง่ายที่สุดเมื่อ pi ของคุณเชื่อมต่อกับเครือข่าย


2
ดูเหมือนว่าฉันจะให้ที่อยู่ของระบบอื่น ๆ ไม่ใช่ของคุณเอง โปรดทราบว่าman arpในปัจจุบันเริ่มด้วย"โปรแกรมนี้ล้าสมัยแล้ว"
goldilocks

-3

ฉันไม่รู้เกี่ยวกับ LXDE หากต้องการทราบที่อยู่ IP ของอุปกรณ์ของคุณเข้าเยี่ยมชมเว็บไซต์Ip-Details.com ที่นี่พวกเขายังจะให้ที่อยู่ IP ที่อยู่ ISP ประเทศอื่น ๆ ...


3
สิ่งนี้จะให้เฉพาะ IP ภายนอกไม่ใช่ IP ภายในของคุณ
Zoot
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.