netcat(nc)を使用したHTTPSへの接続[終了]


41

私は大学の宿題に取り組んでいます。タスクは、nc(netcat)を使用してHTTPSでWebページを取得することです。

HTTP経由でページを取得するには、次のようにします。

cat request.txt | nc -w 5 <someserver> 80

request.txtにHTTP 1.1リクエストがあります

GET / HTTP/1.1
Host: <someserver>

さて...これは正常に動作します。HTTPSを使用するWebページを取得するにはどうすればよいですか?

このようなページ証明書を取得します。そして、これが私が立ち往生しているポイントです

openssl s_client -connect <someserver>:443

socat - OPENSSL機能しますが、それはおそらくあなたの割り当てではありません。
東武

s / collage / college /、s / witch / which /
Jukka Dahlbom

1
を使用しないようにcat、bashリダイレクトを使用できますnc -w 5 <someserver> 80 < request.txt
ラスタジェディ

回答:


53

nchttpsを実行しません。 openssl s_clientあなたが得るほど近いです。このようなことをしてください:

$ cat request.txt | openssl s_client -connect server:443

3
つまり、あなたの割り当てがSSLを実行するコードを書くことでない限りです。StackOverflowのテリトリーになります:)
ビルヴァイス

6
...私はこれを試してみたが、私は標準出力に私に何をサーバー送信バックを得ることはありません
犬猫の世界を食べる

32

ncat --ssl

sudo apt-get install nmap
printf 'GET / HTTP/1.1\r\nHost: github.com\r\n\r\n' | ncat --ssl github.com 443

スーパーユーザーでも同じ:https : //superuser.com/questions/346958/can-the-telnet-or-netcat-clients-communicate-over-ssl

Ubuntu 18.04でテスト済み。


認証を必要とするhttpsサイトのコマンドを受け取り、ユーザー名とパスワードのコマンドを渡す方法はありますか?
user53029

@ user53029フォームに入力してセッションCookieを提供することで認証が機能するほとんどのWebサイトではそうではないと思います。en.wikipedia.org/wiki/Basic_access_authenticationのような他の認証方法を使用する数少ないWebサイトの1つでない限り。また、手動でフォームに入力し、有効な間にCookieを送信することもできます。または、必死に使用している場合は、stackoverflow.com
questions / 13376189 /…を

ncatはncではありません。ncatは、ncのようなペイロードの送信時に接続を維持することをサポートしていません。この質問には、他のアプリではなくncを使用した目立たない応答が必要です。
e-info128

1
@ e-info128その情報をありがとう。私の哲学は次のとおりです。何かをグーグルで検索してこのページをクリックすると、必要な答えが見つかりますか。
Ciro Santilli新疆改造中心法轮功六四事件

sudo apt-get install nmapですか?
アレクサンダーミルズ

6

おそらくstunnelを使用したいでしょう。

Secure Sockets Layer(SSL)内の任意のTCP接続を暗号化できるGNUプログラム。

http://www.stunnel.org

それは非常にUNIX-yです。1つの簡単なタスクのための1つの優れたツール。


1
stunnel + ncが機能すると思います。いい考えだ。
ビル・ワイス

2

教授またはTAに支援を求めてください。実世界ではnetcatを介してHTTPSを実行しようとすることは決してありません(openssl s_client私の第一選択ツールですが、他のオプションもあります)。世界は低いです。講義のすべてのスライド/ノートに目を通すと思います。通常、これらの「不可能な」質問は講義で実際に回答され、クラスで実際に注意を払っているのは誰かを確認するように求められます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.