私は、Red Had Enterprise Linuxを実行しているリアルタイムシステム上でコードを維持しています。私は時々、最優先事項で動作するにもかかわらず、ネットワークがコンピュータを遅くすることを管理し、私は自分のCPUの能力を最大限に発揮できるようにカードを無効にしたいと思う。ネットワークの機能の冒頭にいくつかのファイルが必要ですが、ある時点後にはプログラムが完了するまで効果的にネットワークを無効にすることができます。何らかのAPI呼び出しによってネットワークを無効にする方法はありますか?Linux用のネットワークを無効にするAPI呼び出しはありますか?
答えて
うまくいけば誰かがこれを拡張することができますが、ifconfigがネットワークデバイスを無効にする方法を調べることは価値があるかもしれません。おそらくインターフェイスでioctlを使って無効にすることができます。ドライバ/ NICに応じて、カーネルはネットワークハードウェアにCPUの代わりにパケットをドロップさせることができます。
ifconfigコマンドのソースコードはここにある:また、ifconfigコマンドは、ここで記述されているのと同じことを行うことが可能である
IPROUTE2、:
私が見つかりました。 iproute2のソースコードはifconfigよりも少しわかりやすいですが、インタフェースを無効にするためにネットワーキングスタックとどのようにインタフェースするかは比較的簡単に分かります。
ネットワークは、ユーザースペースプロセスではなく、カーネルの一部です。 rmmod
を呼び出して、モジュールサポートが有効になっていると仮定して、カーネルからネットワークドライバモジュールを削除することができます。または、すべてのネットフィルタのルールをDROP
に設定して、それが高速化するかどうかを確認できます。 C++でコーディングするのではなく、ランチャースクリプト(既製のiptables-save
/iptables-restore
を使って)を実行する方がいいでしょう。または、インターフェイスをダウンさせるだけでも可能です。
可能性が高い事を遅くなります。インタフェースを下げる方がいいでしょう(ネットワーキングが問題を引き起こしていると仮定して)。 – BatchyX
あなたは「API」を言ったが、あなたのプログラムの言語については言及しませんでした/スクリプト、またはあなたのOS。 Linuxの
はbashの/ Bourneシェルスクリプトから、CentOSの、RHEL、SuSEの、とFedoraのようなバリアント:DROPにすべてnetfiltersルールを設定
/sbin/service network stop
rc=$?
if [ "$rc" -ne 0 ]; then
echo "***** Failed to stop networking service"
exit $rc
fi
# Do your thing
/sbin/service network start
- 1. 録音呼び出しを無効にする方法はありますか?
- 2. 呼び出しメニューのオペレータの使用を無効にする
- 3. イベントからCanExecuteを呼び出してコマンドを無効にする方法はありますか?
- 4. AJAX呼び出しのbeforeSendイベントを無効にする方法はありますか?
- 5. アンドロイドアプリでネットワークAPIの呼び出しを監視する方法
- 6. WSO2 APIマネージャーで無効なJSON本体を使用してAPI呼び出しを無視する方法
- 7. AVPlayer Observerが無効なURLを呼び出すことはありません
- 8. Webpack:require()呼び出しを無視するローダーはありますか?
- 9. IBM Bluemixノード-REDサーバーAPIのHTTPクライアント呼び出しを無効にする
- 10. keycloakでユーザーパスワードを変更するAPI呼び出しはありますか?
- 11. ssl検証を無効にしないでhttps URLを呼び出す方法はありますか?
- 12. 独自のsoftirqでlinuxカーネルを呼び出す方法はありますか
- 13. 「不正な」エラーを返すネットワーク外API呼び出しのリンク
- 14. Retrofit2を使用してネットワークAPI呼び出しを反復する
- 15. delete_valuesパラメータが無効なAPI呼び出しフィールドの削除
- 16. glBindBufferは以前のgl * Pointer呼び出しを無効にしますか?
- 17. 別のAPI呼び出し内でAPI呼び出しを行いますか?
- 18. addEventListenerを無効呼び出すオブジェクト11
- 19. Web APIとレンダリングテンプレートは、同じ関数呼び出しで呼び出す必要がありますか?
- 20. {"メッセージ": "無効なウェブサービス呼び出し、パラメータの値がありません:\ u0027PersonID \ u0027"
- 21. 1秒あたりのAPI呼び出しをスケジュールする
- 22. ポストバック時にjquery呼び出しを無効にする
- 23. API呼び出しで公開されているFacebookドメインの有効なリストはありますか?
- 24. 有効なユーザーアクセストークンを使用してBox APIを呼び出す
- 25. unixソケットのopen()呼び出しをsocket()とconnect()呼び出しにマップする方法はありますか?
- 26. 無効なLinuxファイル名はありますか?
- 27. LinuxプロセスのWindowsサブシステムからWin32/NT-Native APIを呼び出しますか?
- 28. AWS CognitoユーザープールOAuth REST API呼び出しの例はありますか?
- 29. テストコンテキストで@Async呼び出しを無効にする
- 30. OAuth呼び出しでSSLチェックを無効にする(PHP)
'ifconfig'は時代遅れですか?今日はすべてiproute2です... –
@KerrekSB:私はほとんどの時間RHEL5に住む傾向があります。 ifconfigが時代遅れになっている可能性は確かです。私は彼らがカーネルとやりとりするために使用した方法もまた時代遅れになっても驚くだろう。 –
@sharth:SIOCSIFFLAGS ioctlとfriendsは廃止されました。主な機能が欠けているのは、インターフェイスエイリアスのようなハックのないインターフェイスサポートごとに複数のIPがないことです。また、rtnetlink( "netlink route")インタフェースには他にもたくさんのオプションがあります。どうして ?それは拡張性があるからです。 – BatchyX