問題タブ [dhcp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arduino - Arduino DHCP の構成に失敗しました
イーサネット シールドの背面に印刷されているものに変更したファームウェア アドレス以外は変更せずに、Arduino ソフトウェアにバンドルされている Web クライアント用のサンプル イーサネット スケッチを使用しています。
Arduino をネットワークに接続してシリアル モニタを表示すると、「DHCP を使用してイーサネットを構成できませんでした」というメッセージしか表示されません。
Arduino Mega 2560 をイーサネット シールドでセットアップし、ポート 50 を MISO に、51 を MOSI に、52 を SCK に、10 を SS に正しく接続しました (イーサネット ボードに印刷されている ETHCS とも呼ばれます)。
この DHCP エラーが発生する理由がわかりましたか?
これが私のコードです:
android - AndroidでDNS情報を取得する方法
c# - DHCP REQUEST の送信後に DHCP ACK がない
[解決済み] DHCP サーバーへのクライアントとして DHCP パケットを手動で構築しています。これまでのところ、DHCPDISCOVER パケットを送信し、サーバーから DHCPOFFER を受信することができました。しかし、DHCPREQUEST を送信すると、予想される DHCPACK がまったく受信されません。
DHCPDISCOVER: http://digitalphoenix.info/uploads/so/dhcpDiscover.jpg
DHCPOFFER: http://digitalphoenix.info/uploads/so/dhcpOffer.jpg
DHCPREQUEST: http://digitalphoenix.info/uploads/so/dhcpReq.jpg
(上記では、ハニーポット デーモンは 192.168.0.2、DHCP サーバーは 192.168.0.1、クライアント A (192.168.0.6) は存在しない 192.168.0.106 をプローブしようとしています。「192.168.0.106」のリースを取得しようとしています)
次の理由により、DHCP サーバーは ACK をまったく送信しないと推測しています。
1) DHCP サーバーが 192.168.0.106 のアクティブなリースを表示しない
2) DHCP サーバーは通常、ACK を送信して可用性をプローブする前に、要求された IP に ARP 要求を送信します (テスト済み) (ARP 要求は送信されません)。
したがって、問題は DHCP 要求パケットがドロップまたは拒否されることにあります...? NACKすら出ない
背景: 仮想の高相互作用ハニーポット (VM) に代わって IP アドレスを動的に割り当てるハニーポット デーモンを作成しています。応答のない ARP 要求をリッスンし、dest を受け取ります。IP とその特定の宛先をリースしようとします。次に使用するバインドされていないハニーポットの DHCP サーバーからの IP アドレス。リースが確認されると、デーモンは最終的にソースに ARP 応答を返します。ハニーポットは別のサブネットに存在し、ホスト マシンと同じサブネット内に論理的に配置することが目標です。そこから、デーモンはバインドされたハニーポットのすべての発信/着信トラフィックを担当します。イーサネット フレームの src addr は、ハニーポット デーモン/ホストの MAC です。ただし、bootp で指定される MAC は完全に任意です。
編集: UDP チェックサムが空であることに気付きましたが、wireshark が udp チェックサムの検証を無効にしているため、これに気付きませんでした。これは必要ですか?DHCPDISCOVER にはそれがありませんでしたが、とにかく応答がありましたか? 何が問題を引き起こしているのかについての小さな提案でも大歓迎です、ありがとう
edit2: UDP チェックサムを修正しましたが、問題はまだ存在します
追加情報: 192.168.0.0/24 リース範囲 2-254
wireshark キャプチャ / pcap: http://digitalphoenix.info/uploads/so/honeyPotCapture.pcap (偽の MAC とターゲット IP が xxx106 ではなく 192.168.0.109 であること以外は上記と同じ)
最終編集: 修正済み。わたしは目が見えない。RFCがそうしないと言っているのに、サーバーのIPアドレスフィールドが入力されていることが判明しました。良い睡眠ができることは驚くべきことです。
android - Android の wifi.getDhcpInfo() が間違った IP ゲートウェイを返す
ユーザーの選択に基づいて、さまざまな Wifi ネットワークに接続する必要がある Android アプリケーションを作成しています。networkInfo からゲートウェイ IP アドレスを取得する必要があります。私が直面している問題は、wifi ネットワーク構成 A に接続していて、ネットワーク構成 B に切り替えたい場合、wifi.getDhcpInfo(); ネットワーク A のゲートウェイ IP アドレスに戻ります。ユーザー インターフェイス ワークフローを何度か試行した後、最終的にネットワーク B のゲートウェイ IP を返します。コード スニペットを以下に示します。新しく有効になったネットワークが正確な Dhcp 情報を返すタイミングを判断して、確実に取得できるようにする方法についてのアイデア。たとえば、キャッチできる非同期イベントはありますか。ありがとうございます。
linux - Linux で既知のワイヤレス デバイスがワイヤレス LAN に参加したことを検出する方法
Linux ベースの OS を実行するシングル ボード コンピューター (SBC) を使用して、モバイル デバイス検出器を作成します。SBC には、USB/802.11 ワイヤレス アダプターが搭載されます。SBC は DHCP サーバーになります。モバイル デバイスは、SBC のワイヤレス ネットワーク (アドホックかインフラストラクチャかは関係ありません) に参加します。モバイル デバイスがネットワークに参加すると、SBC がそれを検出します。受信したモバイル デバイスの MAC アドレスを、受け入れられたアドレスのセットでチェックします。一致する場合、SBC はコマンドを実行します。
私は基本的な Linux の知識を持っています。シェル スクリプトは書けませんが、C++/Qt は知っています。どこから始めればよいかわかりません。このプロジェクトで使用する関連コマンド ライン ユーティリティまたはライブラリを知っていますか?
PS: DHCP クライアント リストがいつ変更されたかを検出する方法だけが必要なのかもしれません。これは、MAC アドレス フィルタリングと併用するとうまくいく可能性があります。
tcp - DHCP パケット ( DHCPDISCOVER ) の構築、パケット構造
DHCP パケットを作成してから、UDP (「0xff.0xff.0xff.0xff」、67 ポート) 経由で送信しようとしています。
DHCP サーバーに正常に接続しましたが、最初のパケット構造 ( DHCPDISCOVER ) に問題がありますが、RFC && Wiki から構築し、これらのフィールドのすべてのフィールド/サイズをバイト単位で確認しました。
C# のコードは次のとおりです (議論しないでください。このコードは、DHCP プロトコルの動作とパケットの構造を確認するためのテスト目的のみです): http://pastebin.com/9NXuHyrw
クラスでdiscover dhcp-packetの本体を初期化しました。その構造体(サイズ、右フィールド)を確認できます。
それで、何が問題なのですか?
感謝をこめて
python - import.socketを使用して、代わりにDHCP IPを取得する方法はありますか?または、IPから1を引く必要がありますか?
タイトル通り、接続しているユニットのDHCPIPを取得したいと思います。
これまでのところ:
基本的に、シナリオは、IPが169.254.0.1ではないユニットに接続したい場所に2つのユニットを接続しているというものです。
これを書くためのより効率的な方法があればいいと思いますが、私の主な関心事は、代わりにIPのDHCP IPを取得することです(DHCP IPはマイナス1です)
これは大歓迎です!ありがとう!
linux-device-driver - イーサネットがbraodcastパケットを取得しない
CiscoIPTVで実行されている2.6.15カーネルに取り組んでいます。ボックスが表示されると、DHCPクライアントが電話を切ります。これは、DHCPクライアントがブロードキャストされたDHCPオファーメッセージをフェッチしないためです。
/ proc / net / devファイルを読み取ると、イーサネットデバイス(eth0)がパケットを受信していないことが示されます。次に、ボックスでtcpdumpを実行しましたが、イーサネットインターフェイスでパケットが受信されていないことも示されています。
次に、(DHCPサーバーが実行されている)テストPCでwiresharkを実行しました。これは、DHCPオファーメッセージがDHCPサーバーによってブロードキャストされていることを示しています。
このDHCPクライアントとサーバーは他のボックスで正常に動作しているため、これらのプログラムで問題が発生する可能性は低くなります。イーサネットドライバに問題があるはずです。
私は本当に混乱しています。この問題にどのように進むべきですか。私を助けてください。
c - FreeBSD: ネットワーク インターフェイス アドレス: dhcp または static
特定のインターフェイスに静的アドレスがあるか、またはdhcpによって提供されるアドレスがあるかをプログラム (C) で知るにはどうすればよいですか? 私は見ることができます/var/db/dhclient.leases.<interface_name>
。より良い/よりクリーンな方法はありますか? ioctl
私が使用できるものはありますか?
c - FreeBSD: /var/db/dhclient.leases を理解する。dhcp リース ファイル
FreeBSD: ネットワーク インターフェイス アドレス: dhcp または static
フォローアップの質問:
私はリースファイルを見ることにしました: /var/db/dhclient.leases.. それは正確に何を教えてくれますか? /var/db/dhclient.leases.em0 の存在は em0 が DHCP によってアドレスを持っていることを意味しますか? このファイルは、再起動しても消えないようです。