Ngrep 奇妙な行動

Ngrep 奇妙な行動

非常に奇妙な問題があります。

私はFedora(KDEを含む)を使用しており、特定のポートを介して送信された転送データを調べるにはngrepが必要です。

奇妙なことに、私のターミナル(より正確に言えば、Konsole、Yakuake、Guake、Terminatorなどの他のターミナルアプリも試してみました)が、より大きなディスプレイ(21" - 1920x1080)からフルスクリーンに切り替わると、ngrep出力は次のようになります。

T 127.0.0.1:39167 -> 127.0.0.1:8983 [AP]                                                                                                                                                                                            
GET /solr/col                                                                                                                                                                                                                                                                   
lection1/sele                                                                                                                                                                                                                                                                   
ct?q=%28entit                                                                                                                                                                                                                                                                   
yType%3A61+AN                                                                                                                                                                                                                                                                   
D+owncCompany                                                                                                                                                                                                                                                                   
_b%3Atrue%29&                                                                                                                                                                                                                                                                   
fl=*%2C%5Bchi                                                                                                                                                                                                                                                                   
ldren%5D&star                                                                                                                                                                                                                                                                   
t=0&rows=10&s                                                                                                                                                                                                                                                                   
ort=entityId_                                                                                                                                                                                                                                                                   
s+asc%2Cid+as                                                                                                                                                                                                                                                                   
c&wt=javabin&                                                                                                                                                                                                                                                                   
version=2 HTT                                                                                                                                                                                                                                                                   
P/1.1..User-A
gent: Solr[or
g.apache.solr
.client.solrj
.impl.HttpSol
rClient] 1.0.
.Host: 127.0.
0.1:8983..Con
nection: Keep
-Alive....   

..何らかの方法で梱包されています...よくわかりません。

ただし、端末をラップトップディスプレイ(16インチ - 1600x900)に配置すると、出力は端末全体にわたって増加します。これは予想される動作です。

(Google全体で:))検索しましたが、問題がどこにあるのかわかりません。私のモニターの設定に問題がある可能性があると思いました。モニターでは、端末列の設定に問題があるようですが、どのように解決するのかわかりません。

よろしくお願いします、アンドレ

ベストアンサー1

私はいくつかの可能性を考えてみました。

  • プログラムは(何らかの理由で)画面がオンになっていることを検出します。大きい開発者のあいまいな目的のために、列の幅を減らします。
  • プログラムが画面サイズを正しく検出できません。提案通り@tom-zychこれは、プログラムがウィンドウのサイズ変更イベントに正しく応答しない場合に発生する可能性があります。提供されるソリューション乱雑な端末画面の問題を解決するには? (通常サイズ変更後)最終プログラム()以外の状況にngrep役立ちます。たとえば、このresizeプログラムは主に次の状況で役立ちます。端末図のようにサイズは更新されませんstty -a

最初のケースでは、マニュアルページngrep(8)列の幅が言及されている唯一の場所はオプションなので、あまり役に立ちません。

-c リスト
検出された端子の幅を無視し、列の幅を指定されたサイズに強制します。

そして(繰り返し)

-c リスト
コンソールの幅を次のように明示的に設定します。リスト。これはngrep 、出力モードに応じてペイロードとして印刷される全幅ではなくコンソール幅であるため、ngrep 印刷量が以下の場合があります。 リスト1行あたりのバイト数(インデント)。

ngrepただし、これはいくつかの書式選択が行われていることを意味します。ここで洞察力を見つけてください犯罪:

255より大きい列幅が許可されます。

列数を表すために使用される型の変更8ビット到着32ビット。サイズ変更したい画面(小さいフォントを使用)が255列より広い場合は、ngrep255列を超えて5列だけ小さくなります。特定の例では、端末の幅は255 + 5 + 15 = 270文字にすることができます。

で確認できますstty -a

おすすめ記事