diff --git a/manpages/ndnpeek.rst b/manpages/ndnpeek.rst
index 3735337..fe7b41a 100644
--- a/manpages/ndnpeek.rst
+++ b/manpages/ndnpeek.rst
@@ -51,6 +51,9 @@
 ``-V, --version``
   Print version and exit.
 
+``--link-file [file]``
+  Read Link object from ``file`` and add it to the expressed Interest.
+
 Exit Codes
 ----------
 
diff --git a/tools/peek/ndn-peek.cpp b/tools/peek/ndn-peek.cpp
index 2f3bef5..5c9df4d 100644
--- a/tools/peek/ndn-peek.cpp
+++ b/tools/peek/ndn-peek.cpp
@@ -121,6 +121,14 @@
   }
 
   void
+  setLink(const std::string& file)
+  {
+    m_link = io::load<Link>(file);
+    if (m_link == nullptr)
+      throw std::runtime_error(file + " is either nonreadable or nonparseable");
+  }
+
+  void
   setPrefixName(const std::string& prefixName)
   {
     m_prefixName = prefixName;
@@ -155,6 +163,9 @@
     else
       interestPacket.setInterestLifetime(m_interestLifetime);
 
+    if (m_link != nullptr)
+      interestPacket.setLink(m_link->wireEncode());
+
     if (isVerbose) {
       std::cerr << "INTEREST: " << interestPacket << std::endl;
     }
@@ -229,6 +240,7 @@
   time::milliseconds m_timeout;
   std::string m_prefixName;
   time::steady_clock::TimePoint m_expressInterestTime;
+  shared_ptr<Link> m_link;
   bool m_didReceiveData;
   Face m_face;
 };
@@ -260,6 +272,8 @@
         "set timeout (in milliseconds)")
     ("verbose,v", po::bool_switch(&program.isVerbose),
         "turn on verbose output")
+    ("link-file", po::value<std::string>()->notifier(bind(&NdnPeek::setLink, &program, _1)),
+        "set Link from a file")
   ;
 
   po::options_description hiddenOptDesc("Hidden options");
