백엔드 개발 Golang Go 언어에서 IP 주소를 수정하는 방법

Go 언어에서 IP 주소를 수정하는 방법

Jun 05, 2023 am 09:41 AM
go IP 주소 언어로 가다

Go 언어에서 IP 주소를 수정하는 방법: 1. 넷 라이브러리의 함수 인터페이스 "net.InterfaceAddrs()"를 사용하여 로컬 IP 주소를 얻습니다. 2. "LinkByName" 함수를 사용하여 네트워크 인터페이스 정보를 얻습니다. 그런 다음 "ParseAddr" 기능을 사용하여 새 IP 주소를 구문 분석한 다음 "AddrAdd" 기능을 사용하여 지정된 네트워크 인터페이스에 새 IP를 추가합니다. 3. 코드와 동일한 방법을 사용하여 가져옵니다. 로컬 IP 주소를 확인하여 로컬 IP 주소를 변경할지 여부입니다.

Go 언어에서 IP 주소를 수정하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, go 버전 1.20, dell g3 컴퓨터.

Go 언어는 사용하기 쉬운 여러 네트워크 프로그래밍 라이브러리를 제공하는 고성능 동시성 지원 프로그래밍 언어입니다. IP 주소를 수정하려는 경우 Go 언어는 작업을 더 쉽게 해주는 몇 가지 API와 도구를 제공합니다. 이번 글에서는 Go 언어를 이용하여 IP 주소를 수정하는 방법을 소개하겠습니다.

IP 주소 수정 방법:

1. 로컬 IP 주소 얻기

Go 언어로 로컬 IP 주소를 얻는 것은 매우 간단합니다. 넷 라이브러리의 함수 인터페이스를 사용하여 로컬 IP 주소를 얻을 수 있습니다. 다음은 로컬 IP 주소를 얻기 위한 샘플 코드입니다:

addrs, err := net.InterfaceAddrs()
if err != nil {
    fmt.Println("Error:", err)
}
for _, addr := range addrs {
    if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
        if ipnet.IP.To4() != nil {
            fmt.Println("Local IP: ", ipnet.IP.String())
        }
    }
}

이 코드 조각에서는 넷 라이브러리의 함수 인터페이스 net.InterfaceAddrs()를 사용하여 로컬 IP 주소를 얻습니다. 이 함수는 IP 주소를 저장하는 배열을 반환합니다. 루프를 사용하여 IP 주소 배열을 순회하고 IPv4 주소와 루프백 주소가 아닌 IP 주소를 필터링하고 마지막으로 로컬 IP 주소를 인쇄합니다.

2. 로컬 IP 주소 수정

로컬 IP 주소를 수정하려면 넷링크 라이브러리를 사용해야 합니다. Netlink는 Linux 커널에서 프로세스 간 통신에 사용되는 프로토콜 제품군으로 주로 커널과 사용자 공간 프로그램 간의 통신에 사용됩니다. Netlink 라이브러리는 네트워크 인터페이스를 보다 쉽게 ​​관리하고 제어할 수 있는 일련의 기능과 구조를 제공합니다.

다음은 netlink 라이브러리를 사용하여 로컬 IP 주소를 변경하는 샘플 코드입니다.

link, err := netlink.LinkByName("eth0")
if err != nil {
    panic(err)
}
 
addr, err := netlink.ParseAddr("192.168.0.2/24")
if err != nil {
    panic(err)
}
 
if err := netlink.AddrAdd(link, addr); err != nil {
    panic(err)
}

이 코드 조각에서는 먼저 LinkByName 함수를 사용하여 "eth0"이라는 네트워크 인터페이스 정보를 얻습니다. 다음으로 ParseAddr 함수를 사용하여 새 IP 주소를 구문 분석한 다음 AddrAdd 함수를 사용하여 지정된 네트워크 인터페이스에 새 IP 주소를 추가합니다.

3. 로컬 IP 주소가 변경되었는지 확인

로컬 IP 주소를 수정한 후 코드를 다시 실행하여 변경이 성공했는지 확인할 수 있습니다. 로컬 IP 주소를 가져오는 코드와 동일한 방법을 사용하면 로컬 IP 주소가 지정한 새 IP 주소로 변경되었는지 확인할 수 있습니다. 최종 코드 예는 다음과 같습니다.

package main
 
import (
    "fmt"
    "github.com/vishvananda/netlink"
    "net"
)
 
func main() {
 
    addrs, err := net.InterfaceAddrs()
    if err != nil {
        fmt.Println("Error:", err)
    }
    for _, addr := range addrs {
        if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
            if ipnet.IP.To4() != nil {
                fmt.Println("Local IP: ", ipnet.IP.String())
            }
        }
    }
 
    link, err := netlink.LinkByName("eth0")
    if err != nil {
        panic(err)
    }
 
    addr, err := netlink.ParseAddr("192.168.0.2/24")
    if err != nil {
        panic(err)
    }
 
    if err := netlink.AddrAdd(link, addr); err != nil {
        panic(err)
    }
 
    addrs, err = net.InterfaceAddrs()
    if err != nil {
        fmt.Println("Error:", err)
    }
    for _, addr := range addrs {
        if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
            if ipnet.IP.To4() != nil {
                fmt.Println("Local IP: ", ipnet.IP.String())
            }
        }
    }
}

이 코드 조각은 두 개의 로컬 IP 주소를 인쇄합니다. 첫 번째는 원래 로컬 IP 주소이고, 두 번째는 로컬 IP 주소를 수정한 후 출력된 새로운 로컬 IP 주소입니다. 이런 방식으로 로컬 IP 주소가 성공적으로 수정되었는지 확인할 수 있습니다.

Summary

이번 글에서는 Go 언어를 이용하여 로컬 IP 주소를 수정하는 방법을 소개했습니다. 먼저 로컬 IP 주소를 얻는 방법을 시연한 다음 netlink 라이브러리를 사용하여 로컬 IP 주소를 수정하는 방법을 소개했습니다. 마지막으로 로컬 IP 주소가 성공적으로 변경되었는지 확인하는 방법을 보여주었습니다. 이 기사가 도움이 되기를 바랍니다.

위 내용은 Go 언어에서 IP 주소를 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT

Stock Market GPT

더 현명한 결정을 위한 AI 기반 투자 연구

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

다른 프로그램에서 폴더 또는 파일이 열렸습니다. 다른 프로그램에서 폴더 또는 파일이 열렸습니다. Sep 20, 2025 am 08:24 AM

파일이 점유되면 먼저 관련 프로그램을 확인하고 닫고 컴퓨터를 다시 시작하십시오. 유효하지 않은 경우 작업 관리자, 리소스 모니터 또는 프로세스 탐색기를 사용하여 점유 된 프로세스를 찾아 작업 또는 작업 관리 명령을 종료하여 강력하게 종료하십시오. 예방하려면 우수한 운영 습관을 개발하고 모바일/네트워크 드라이브에서 미리보기 또는 직접 작동하지 않으며 소프트웨어를 업데이트해야합니다.

BTC는 '미래의 미래 시장 동향을 소화하고 있습니다': 이번 주 5 개의 가장 주목할만한 비트 코인 포인트 BTC는 '미래의 미래 시장 동향을 소화하고 있습니다': 이번 주 5 개의 가장 주목할만한 비트 코인 포인트 Sep 20, 2025 pm 01:39 PM

목차 전통적인 금융 시장이 회복됨에 따라 비트 코인 변동성이 크게 증가했습니다. 연준의 이자율 삭감 기대는 시장의 초점이되었습니다. Bitcoin Bull Market의 최고점은 "몇 주 남았습니다"일 수 있습니다. Binance는 대규모 구매 신호를 보았습니다. ETF는 새로 채굴 된 BTC를 계속 흡수합니다. Bitcoin (BTC) 투자자는 암호화 자산이 Fed의 주요 이자율 결정 창에 들어서면서 시장 동향을 밀접하게 따르고 있습니다. 이번 주 초에 황소는 상승 추세를 계속하기 위해 117,000 달러의 중요한 저항 수준을 뚫어야합니다. 세계적인 관심은 수요일의 연방 준비 제도 회의에 중점을두고 있으며, 일반적으로 2025 년 첫 번째 요금 인하를 안내 할 것으로 예상됩니다. 과거의 정확한 BTC 가격 모델은 앞으로 몇 주 안에 사상 최고가 태어날 수 있음을 보여줍니다. Binance Order Book은 주말 동안 큰 구매 유입의 징후를 보여줍니다. 지난주 ETF를 통해 기관이 구매 한 BTC의 금액은 광부에 도달했습니다.

USDH 통화는 무엇입니까? 어떻게 작동합니까? 고리형 New Stablecoin의 전체 분석 USDH 통화는 무엇입니까? 어떻게 작동합니까? 고리형 New Stablecoin의 전체 분석 Sep 17, 2025 pm 04:39 PM

출처 : 2025 년 9 월 5 일 금요일에 Polymarket은 현재 탈 중앙화 된 파생 상품 교환에서 절대적인 선두 위치를 차지하고있는 Hyperliquid는 Hyperliquid의 관심사와 일치하는 "Hyperliquid-first"를 발행하고 미국 달러 스타블 레코 인을 준수하고 팀이 제안을 제출하도록 노력하고 있다고 발표했습니다. 초 클리케이드의 새로운 Stablecoin USDH의 출시는 시장 제조업체들 사이에서 치열한 경쟁을 일으켰습니다. Paxos, Sky 및 Fraxfinance와 같은 주요 플레이어는 모두 USDH를 발행하기 위해 경쟁에 참여했지만 덜 알려진 NativeMarkets는 최전선에 있습니다. 입양이 증가함에 따라 유동성 공급

이더 리움 (ETH) 통화 란 무엇입니까? ETH 가격 예측 2025-2030 이더 리움 (ETH) 통화 란 무엇입니까? ETH 가격 예측 2025-2030 Sep 17, 2025 pm 04:42 PM

디렉토리 이더 리움이란 무엇입니까? 예측이 관련된 이유는 무엇입니까? 주요 업그레이드와 관련된 ETH 가격의 하이라이트 : ETH 가격 예측에 영향을 미치는 주요 요인 네트워크 기술 진보 공급 및 수요 역학 수요 제도적 수요 매크로 배경 ETH 예측 : 무엇을 기대하고 있습니까? 2026 년 ETH 예측에서 일어난 일 : 중기 추세 2030 이더 리움 예측 : 장기 전망 다른 주요 암호 화폐와의 이더 리움의 비교 결론을 분석 할 수있는 방법 : 이더 리움의 미래 및 가격 예측 이더 리움 거래 방법은 무엇입니까? 어떤 요인이 영향을 미치는지 자주 묻습니다

좋은 소식 : 중국 최대의 통화 보유 회사 좋은 소식 : 중국 최대의 통화 보유 회사 Sep 20, 2025 pm 01:03 PM

카탈로그의 주요 정보 : NextTechnology는 세계에서 15 번째로 큰 기업 수준의 비트 코인 보유자가되었습니다. 전략은 636,505 BTC로 글로벌 기업 통화 보유 목록에서 1 위를 차지했습니다. NextTechnology -Bitcoin Holdings가 가장 많은 중국 상장 회사는 BTC의 지분을 더욱 늘리고 다른 회사의 전략적 레이아웃을 지원하기 위해 보통주의 공개 발행을 통해 최대 5 억 달러를 모금 할 계획입니다. 주요 정보 : NextTechnology 자금 조달을 위해 5 억 달러를 모금 할 계획

폴더를 찾는 곳 폴더를 찾는 곳 Sep 20, 2025 am 07:57 AM

가장 직접적인 방법은 일반적으로 데스크탑, 문서, 다운로드 등과 같은 폴더에서 저장 위치를 ​​기억하는 것입니다. 찾을 수없는 경우 시스템 검색 기능을 사용할 수 있습니다. "누락"파일은 주로 저장 경로의 감수, 이름 메모리 편차, 파일 숨기기 또는 클라우드 동기화와 같은 문제로 인한 것입니다. 효율적인 관리 제안 : 프로젝트, 시간 및 유형별로 분류하고, 빠른 액세스, 정기적으로 깨끗하고 보관하고, 이름 지정을 표준화합니다. Windows 검색 및 파일 탐색기 및 작업 표시 줄을 통해 검색하고 검색하는 반면 MacOS는 Finder 및 Spotlight에 의존하며, 이는 더 똑똑하고 효율적입니다. 도구를 마스터 링하고 좋은 습관을 개발하는 것이 핵심입니다.

Velora (VLR) 통화는 무엇입니까? Velora Project 개요, 토큰 경제 소개 및 미래 개발 방법 Velora (VLR) 통화는 무엇입니까? Velora Project 개요, 토큰 경제 소개 및 미래 개발 방법 Sep 20, 2025 pm 01:48 PM

카탈로그 VELORA (VLR) 최신 뉴스 Velora는 Velora가 Velora 인 Velora입니다. Paraswap에서 Velora에 이르기까지 Velora 기능 거버넌스 : Next Generation Cross-Chain Defi 프로토콜 팀 및 설립자 투자자 및 파트너 VLR 토큰을 사용하는 Field VLR 토큰 경제 경제 및 기능 기능 Velora Roadmap Velora는 Paras Team에 의해 만들어진 다중 체인 데 파이 프로토콜을 제공하고 있으며, 사용자가 강화하고, 사용자에게 제공하고 있으며, 사용자에게 제공합니다. 목표 중심 거래 경험. 새로 구축 된 델타 인프라는 MEV (최대 추출 가능한 가치) 공격에 저항 할 수 있으며 가스 거래가 제로 및 고급 가격 실행 메커니즘을 구현할 수 있습니다.

Ripple (XRP)의 다음 합리적인 목표가 $ 4.50 인 이유는 무엇입니까? 하나의 기사에서 그것에 대해 배우십시오 Ripple (XRP)의 다음 합리적인 목표가 $ 4.50 인 이유는 무엇입니까? 하나의 기사에서 그것에 대해 배우십시오 Sep 17, 2025 pm 04:30 PM

목차 : 기관 펀드 반품 XRP 투자 도구 파생 상품 시장 출시 강세 신호 XRP 가격은 기록적인 높은 분석을 목표로하고 있습니다. 높은 분석은 제도적 이익이 회복되고 파생 상품 거래 활동이 증가함에 따라 XRP는 목표 가격이 4.50 달러에 이르렀을 때 강력한 상승을 할 수 있다고 지적합니다. 핵심 요점 : 상승 잠재력은 제도적 수요 증가와 공개 계약 증가에서 비롯되며, 이는 새로운 최고치에 도달 할 것으로 예상됩니다. 애널리스트들은 XRP 가격이 계속 상승 할 수 있으며 첫 번째 공격은 $ 3.12의 첫 번째 공격으로 $ 4.50의 주요 위치에 도전했습니다. 지난 24 시간 동안 XRP 가격은 1.7% 상승했으며 지난 7 일 동안 누적이 6% 증가했습니다. 목요일에 가격은 성공적으로 3 달러였습니다. 많은 시장 관찰자들은 온쇄 데이터 및 기술이 형성한다고 믿습니다.

See all articles