LoginSignup
5
4

More than 5 years have passed since last update.

fastlaneって大丈夫なのって聞かれたのでとりあえずパケットキャプチャしてみた

Last updated at Posted at 2015-09-13

fastlane

fastlaneってすごい便利なんだけど、実際に大丈夫なの?変なとこに通信とかしてない?ってことでちょっと試しにキャプチャしてみる

環境を作る

charles

有名なパケットキャプチャツールのcharlesを入れる
charls

fastlaneを入れる

今回はspaceshipだけとりあえずあればいいけど、全部入れちゃう

$ sudo gem install fastlane
$ sudo gem install spaceship

これだけで入る

ソースを用意

# list.rb
require 'spaceship'

Spaceship.login("XXXXX@gmail.com","XXXX")
Spaceship.select_team

Spaceship.app.all.collect do |app|
      p app.name
end

アプリ一覧を出してみる。

% ruby list.rb                                                       [16:55:59]
Multiple teams found, please enter the number of the team you want to use:
1) XXXXXX "XXXXX Inc." (Company/Organization)
2) XXXXXX "Kentarou Haneda" (Individual)
2
XXX
XXX
XXX

うむ、動く。

キャプチャ

ターミナルからのリクエストをプロキシするために以下の設定をする

HanedaKentarou-no-MacBook-Pro.local ^_^  ~/Documents/workspace/dev/web/fastlane
% export http_proxy="127.0.0.1:8888"                                 [16:55:16]
HanedaKentarou-no-MacBook-Pro.local ^_^  ~/Documents/workspace/dev/web/fastlane
% export https_proxy="127.0.0.1:8888"

結果

いくらか削除しているけど概ね大丈夫そう、itunesconnectとAppDevの叩いているドメインを使っているので普通に非公開APIを使っているだけのようだ。
インストール時にphantomJSを入れていたので、仮想ブラウザを呼んで中身で叩いているのかもしれない。

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE charles-session SYSTEM "http://www.charlesproxy.com/dtd/charles-session-1_0.dtd">

<charles-session>
<transaction status="Complete" method="CONNECT" protocolVersion="HTTP/1.1" protocol="https" host="idmsa.apple.com" actualPort="443" remoteAddress="idmsa.apple.com/17.151.2.14" clientAddress="/127.0.0.1" startTime="2015-09-13T16:56:15.555+09:00" startTimeMillis="1442130975555" dnsDuration="17" connectDuration="117" endTime="2015-09-13T16:56:16.153+09:00" endTimeMillis="1442130976153">
<request headers="67" body="993">
<headers>
<first-line><![CDATA[CONNECT idmsa.apple.com:443 HTTP/1.1]]></first-line>
<header>
<name>Host</name>
<value>idmsa.apple.com:443</value></header></headers>
<body encoding="base64"><![CDATA[さくじょ]]></body></request>
<response status="-1" headers="0" body="7315">
<headers>
<first-line /></headers>
<body encoding="base64"><![CDATA[さくじょ]]></body></response></transaction>
<transaction status="Complete" method="CONNECT" protocolVersion="HTTP/1.1" protocol="https" host="developer.apple.com" actualPort="443" remoteAddress="developer.apple.com/17.146.1.14" clientAddress="/127.0.0.1" startTime="2015-09-13T16:56:16.155+09:00" startTimeMillis="1442130976155" dnsDuration="463" connectDuration="112" endTime="2015-09-13T16:56:17.201+09:00" endTimeMillis="1442130977201">
<request headers="75" body="1259">
<headers>
<first-line><![CDATA[CONNECT developer.apple.com:443 HTTP/1.1]]></first-line>
<header>
<name>Host</name>
<value>developer.apple.com:443</value></header></headers>
<body encoding="base64"><![CDATA[長いので削除]]></body></request>
<response status="-1" headers="0" body="6682">
<headers>
<first-line /></headers>
<body encoding="base64"><![CDATA[さくじょ]]></body></response></transaction>
<transaction status="Complete" method="CONNECT" protocolVersion="HTTP/1.1" protocol="https" host="developer.apple.com" actualPort="443" remoteAddress="developer.apple.com/17.146.1.14" clientAddress="/127.0.0.1" startTime="2015-09-13T16:56:27.038+09:00" startTimeMillis="1442130987038" dnsDuration="1" connectDuration="124" endTime="2015-09-13T16:56:27.580+09:00" endTimeMillis="1442130987580">
<request headers="75" body="1541">
<headers>
<first-line><![CDATA[CONNECT developer.apple.com:443 HTTP/1.1]]></first-line>
<header>
<name>Host</name>
<value>developer.apple.com:443</value></header></headers>
<body encoding="base64"><![CDATA[さくじょ]]></body></request>
<response status="-1" headers="0" body="6933">
<headers>
<first-line /></headers>
<body encoding="base64"><![CDATA[さくじょ]]></body></response></transaction></charles-session>

結果

以下で述べているようにパスワードなどはkeychainに入れているだけで、外に出すようなことはないとのこと。そうはいってもコードも見たほうがいいので、次回はコードベースで確認してみる。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4