Redhat7完全なパッチ情報

     以前は、間接的にも知識ポイントの多くを忘れてきたことなく、Linuxベースの、長期のいくつかを学びました。今、さらにこの道路の維持管理上の準備ができて、とても、Linuxの規律、言語の下の深さの研究が最近開始しました。

     最近、私は幸いにも、我々は我々の進歩を促進するために、ダニエルと一緒にプロジェクトを行うことができますことを許可され、会社と通信します。最初のタスクはRedhat7に統計情報を要約するための完全なパッチ情報を取得することです。次のようにプロジェクトの要件は以下のとおりです。

https://access.redhat.com/errata/#/?q=&p=1&sort=portal_publication_date%20desc&rows=100&portal_advisory_type=Security%20Advisory&portal_product=Red%20Hat%20Enterprise%20Linux&portal_product_variant=Red%20Hat%20Enterprise%20Linux%20Server&portal_product_version= 7&portal_architecture = x86_64の  情報を取得したリンクオープンパッチ情報は、以下のように格納されます。

image.png

    リンクのいずれかであるそのうちの一つは多くの方法がありますが、このプロジェクトを完了してから、我々は上記の表を埋めるために一つ一つを取得した情報を開くが、あまりにも時間がかかり、そして私たちのプロジェクトの本来の目的を失っているしたいと思いますので、私たちは確かになります知識で、私たちは物事を簡単面倒元気にする、この問題を単純化することを学びました。ここに私のアイデアや、過去数日間の成果があり、もちろん、また、Linuxのに関連するシステムの単なる予備的研究私に言ったので、多くの時間を費やして、ない方法の知識は、それが唯一の知識ポイントと知識を学ぶことができる弱いではありません!

     まず、次の我々は、この問題の分析を詳細に:

          1は、実際にはこのフォームを完了したいと思い、私たちは、RHSA番号、CVE、関連リンク、セキュリティタイプを見つける必要がある、と記述することができます

          図2は、このリンクでデータを取得する方法を、私たちは、このリンクのソースコードを取得する必要があります

          図3に示すように、ソースコードRHSA数つのデータリンクを開くことによって、ページのソースコード、CVE、セキュリティタイプ、および利用可能なコンテンツに捕捉関連のリンクを開く必要の説明から直接得ることができます。

     第二に、プロジェクトのコースは(知識だけで思考の知識の既存株式の場合には、制限されています)

          ソースコードRedhat7リンクを取得する方法1、

           #curl Redhat7リンク>> linux.htmlで見つかったHTMLソースコードファイルは、その後、我々は練習のLinuxシステムに必要ないくつかのキーワードの非存在下で得られたので、私は唯一のウェブリンクを介してRedhat7を開きますすることができます保存名前を変更した後、私はデスクトップにredhat.htmlとしてこのファイルをローカルこのredhat.htmlページを開き、その後、別のファイルにソースコード利用可能test.htmlというファイルを保存するためにF12キーを押しますが、今回はtest.htmlというファイルを見つけました私たちは数、および関連リンクを必要とするアドレス情報RHSAのキーワードがあります。百9以上の作品へのアクセスを通じてこの情報には、開いているタブであるので(実際には、このtest.htmlというファイルは、ちょうど私達はちょうど1 100のを開くように設定する方法として、それを保存し、すべてのRHSA番号に関するすべての情報が含まれていません記事番号情報、もちろん、これは私たちの研究この問題には影響しません、我々は唯一の100ページの完全なデータに基づいてうまく操作を数回繰り返す必要があります)

         2、我々は我々が使用するLinuxオペレーティングシステムへのローカルデスクトップ上のファイルをアップロードし、ここで私はCentOS6.8システムを使用しtest.htmlという手段によって。私たちは、私たちが何をしたいRHSA番号とリンクこのデータを取得するために操作するためのファイルをアップロードした後、

        grepの--color "HREF" | | RHSAコマンド#grep "RHSA" test.htmlというの数を取得するカット-d = -f7 | -dカット '「' -f2 | '/' -dカット-f5

        -d = -f7カット| |はgrep --color "HREF" | "RHSA" test.htmlという#grepリンクコマンドこのコマンドはtest1.txtという-dカット '「' -f2>は、当社の買収の結果でありますこのファイルに100 test1.txtというリンクを保存

        図3は、100個のリンクを取得した後、我々は例えば、CVE、セキュリティの種類、および対応する記述を取得するために、これらのリンクを介して11個のリンクを移動する必要があります。

前記内部CVE単一の接続からのコマンドを取得します。 

#curl https://access.redhat.com/errata/RHSA-2019:1166 | grepを--color -A 50 "のCVE" | -oはgrep "CVE - * \。。" | SEDの/\.// G '


前記内部の単一接続順序から取得したセキュリティタイプ

#curl https://access.redhat.com/errata/RHSA-2019:2462 | grepを--color -o "セキュリティアドバイザリ:[[:スペース:]] [[:alnum:]]を*" |カット-d '' -f3


内部の単一の接続順序から請求説明(後述)を取得

#curl https://access.redhat.com/errata/RHSA-2019:2462 | grepを--color -A 1 "<H2>説明</ H2>" | grepをする-E「^ [[:スペース:]] + <P> '| sedの-rさん@ ^ [[:スペース:]] + @@ G' | grepの-o --color "^ <P> *セキュリティ修正プログラム" | sedの-rさん@ < BR /> <P>セキュリティ修正プログラム@@ G」| -r sedのの@の<BR /> @@ G '| -r sedのさん@ <P> @@ G'


もちろん、この11のリンクは時間がかかり、我々は100個のリンクデータを横断いずれかによって、シェルスクリプト1を書き、この時間は、私たちが望むデータを取得します

第一の方法(この方法のインスピレーションは、A、のみ関係する各パラメータは、最初のスクリプトが実行され、実行の終わりを取る、我々はスクリプトを実行する際に、複数のパラメータがある、つまり、$ 1のシフト付きラウンドロビンから来ていますすべてのパラメータがすべて完了に関与するまでラウンドロビンは、)、その上の最初の引数のうち、第2引数は、最初のパラメータになり蹴り、その後、関連するスクリプトを実行し、そして:

私たちは、編集するceshishift.sh #nano / tmpディレクトリ内の実行可能ファイルを作成します。

#!/ binに/ bashの

エコー-e "binhao:` $ 1エコー|カット-d '/' -f5` \ nlianjie:$ 1 \ nCVEs: `$ 1カール| grepを--color -A 50 "のCVE | CVE" -oはgrep" - * \ 。」| SEDの/\.// g'` \ nanquanleixing: `$ 1カール|グレップの--color -o "セキュリティアドバイザリ:[[:スペース:]] [[:alnum:]]を*" |カット - D」 '-f3` \ nDescription: `$ 1をカール| grepを--color -A 1 "<H2>説明</ H2>" | grepをする-E '^ [[:スペース:]] + <P>' | sedの-rさん@ ^ [[:スペース:]] + @@ G '| grepの-o --color "^ <P> *セキュリティ修正プログラム" | sedの-rさん@の<BR /> <P>セキュリティ@@グラムを修正 '| sedの-rさん@の<BR /> @@ G' | -r sedのさん@ <P> @@ g'`」

シフト

100回

権限を追加するために、ファイルを保存した後、X + #chmod 

変数aを設定し、値がそれに100個のリンクを割り当てられた#1、A = `猫test1.txt`

その後、我々は#/ ceshishift.sh $ aが、我々は次のようなものを必要なデータを取得することができますスクリプトを実行するために開始しました:

image.png

ポーリングによって上記のビューが行われていますが、100上記のコード、多くの友人を記述する必要が、私たちが望む効果を達成するのは簡単ですし、ダウンを続行することができますが、

第二の方法(ここでは、我々はループのために使用します):

私たちは、編集するceshifor.sh #nano / tmpディレクトリ内の実行可能ファイルを作成します。

#!/ binに/ bashの


= `猫test1.txt`

$ aのLJのために、

     行う

     エコー-e "binhao:`エコー$ LJ | -dカット '/' -f5` \ nlianjie:$ LJ \ nCVEs: `カール$ LJ | grepを--color -A 50 "のCVE | CVE-" はgrep -o" 。* \「| SEDの/\.// g'` \ nanquanleixing: `カール$ LJ | grepを--color -o「。セキュリティアドバイザリ:[[:スペース:]] [[:alnum:]]を* "|カット-d」 '-f3` \ nDescription:` $ LJカール| grepを--color -A 1 "<H2>説明</ H2>" | grepをする-Eを' ^ [[:スペース:]] + < P> '| sedの-rさん@ ^ [[:スペース:]] + @@ G' | grepの-o --color "^ <P> *セキュリティ修正プログラム" | sedの-rさん@ <BR / '| sedの-rさん@の<BR /> @@グラム|' sedの-r'> <P>セキュリティグラム@@修正S @ <P> @@ g'`」。

     完了


ファイルに追加し、保存して終了権限#chmod + X

スクリプト#/ ceshifor.shを実行します。|ティーlinux100.txtは、例えば、100と画面上の11 linux100.txtファイルに保存されたデータに対応する番号を印刷することができます

image.png


これは、私が来て、その後、そのような機能や爬虫類を使用する例のために使用することができるように追加の変更を、アップロードされた知識の私の株式の観点から、後者の多くは、そこにこれを行うには多くの方法がありますが、上記金額が完了するの私の既存の知識に基づいて、場合にも、Pythonスクリプトの爬虫類と私の友人が必要な対象者の完全な効果を得ることができ、私は必要なデータのみを取得するために上記の機能を実現することができ、スプレッドシートのコマンドで必要なプログラムやその他の手段にどのようにデータ私たちは、整理する時間が必要です。今、私は私の友人コードはで写真の形式で配布される方法爬虫類ます。

image.png

image.png

image.png

image.png

image.png

image.png

図の効果は、自動的に生成されたの.xlsxファイルです。

image.png

おすすめ

転載: blog.51cto.com/1344946553/2430521