$ssh -v -X name@host
$firefox &
執行完後,就會發現在本機端可以跑起ff來了!
重點是即使沒有安裝,仍然沒問題。
因為其實ff本身還是在ssh主機上面跑的。
當然,附註一下,要在windows下這樣跑也是可以的。
只要安裝xming和下載pietty,
在pietty連線時候enable x11-forwarding即可。
$ssh -v -X name@host
$firefox &
#ifconfig [interface_name] hw ether [desired_MAC_Address]
/tmp$ sudo airmon-ng start wlan0 //開始monitor wlan0介面
Interface Chipset Driver
wlan0 Intel 3945ABG iwl3945 - [phy0]
(monitor mode enabled on mon5)
mon0 Intel 3945ABG iwl3945 - [phy0]
mon1 Intel 3945ABG iwl3945 - [phy0]
mon2 Intel 3945ABG iwl3945 - [phy0]
mon3 Intel 3945ABG iwl3945 - [phy0]
mon4 Intel 3945ABG iwl3945 - [phy0]
/tmp$ sudo airodump-ng -i -w ivs mon5 //可以得知會在mon5上, -i表示只抓ivs, -w 是log的prefix
/tmp$ sudo aircrack-ng -a 1 -b 00:16:01:F4:B0:2D ivs-04.ivs //-a 1表示只crack wep, -b是針對bsid, 最後就是目標log檔
class IMAPLogic:
def __init__(self, proto):
self.proto = proto
self.factory = proto.factory
d = self.proto.login(self.factory.username, self.factory.password)
d.addCallback(lambda x: self.proto.examine('INBOX'))
d.addCallback(lambda x: self.proto.fetchFlags('1:*'))
d.addCallback(self.handleflags)
d.addCallback(self.logout)
d.addCallback(self.stopreactor)
d.addErrback(self.errorhappened)
def handleflags(self, flags):
for num, flaglist in flags.items():
print "Message %s has flags %s" % (num, ", ".join(flaglist['FLAGS']))
cacaegg@cacabook:~/workspace/NetworkProgram/src/IMAP$ tflag.py mx.mgt.ncu.edu.tw cacaegg
Enter password:
Message 1 has flags \Recent
Message 2 has flags \Recent
d = self.proto.login(self.factory.username, self.factory.password)
d.addCallback(lambda x: self.proto.examine('INBOX'))
d.addCallback(lambda x: self.proto.fetchUID('1:*'))
d.addCallback(self.handleuids)
def handleuids(self, uids):
dlist = []
destfd = open(sys.argv[3], "at")
for data in uids.values():
uid = data['UID']
d = self.proto.fetchSpecific(uid, uid =1, peek = 1)
d.addCallback(self.gotmessage, destfd, uid)
dlist.append(d)
dl = defer.DeferredList(dlist)
dl.addCallback(lambda x, fd: fd.close(), destfd)
return dl
def gotmessage(self, data, destfd, uid):
print "Received message UID", uid
for key, value in data.items():
print "Writing message", key
i = value[0].index('BODY') + 2
msg = email.message_from_string(value[0][i])
destfd.write(msg.as_string(unixfrom = 1))
destfd.write("\n")
cacaegg@cacabook:~/workspace/NetworkProgram/src/IMAP$ tdownload.py mx.mgt.ncu.edu.tw cacaegg mailbox
Enter password:
Received message UID 15024
Writing message 1
Received message UID 15025
Writing message 2
d = self.proto.login(self.factory.username, self.factory.password)
d.addCallback(lambda x: self.proto.examine('INBOX'))
d.addCallback(lambda x: self.proto.fetchSpecific('1:*', peek = 1))
d.addCallback(self.gotmessages)
d.addCallback(self.logout)
d.addCallback(self.stopreactor)
def gotmessages(self, data):
destfd = open(sys.argv[3], 'at')
for key, value in data.items():
print "Writing message", key
msg = email.message_from_string(value[0][2])
destfd.write(msg.as_string(unixfrom = 1))
destfd.write("\n")
destfd.close()
cacaegg@cacabook:~/workspace/NetworkProgram/src/IMAP$ tdlbig.py mx.mgt.ncu.edu.tw cacaegg mailbox
Enter password:
Writing message 1
Writing message 2
Writing message 3
class IMAPLogic:
def __init__(self, proto):
self.proto = proto
self.factory = proto.factory
d = self.proto.login(self.factory.username, self.factory.password)
d.addCallback(lambda x:self.proto.examine('INBOX'))
d.addCallback(self.examineresult)
d.addCallback(self.logout)
d.addCallback(self.stopreactor)
d.addErrback(self.errorhappened)
def examineresult(self, data):
for key, value in data.items():
if isinstance(value, tuple):
print "%s: %s" % (key, ",".join(value))
else:
print "%s: %s" % (key, value)
cacaegg@cacabook:~/workspace/NetworkProgram/src/IMAP$ texamine.py mx.mgt.ncu.edu.tw cacaegg
Enter password:
EXISTS: 0
PERMANENTFLAGS:
READ-WRITE: 0
UIDNEXT: 15020
FLAGS: \Answered,\Flagged,\Deleted,\Seen,\Draft,Junk,NonJunk,$MDNSent,$Forwarded,NotJunk
UIDVALIDITY: 1153809236
RECENT: 0
class IMAPLogic:
def __init__(self, proto):
self.proto = proto
self.factory = proto.factory
d = self.proto.login(self.factory.username, self.factory.password)
d.addCallback(lambda x: self.proto.list('', '*'))
d.addCallback(self.listresult)
d.addCallback(self.logout)
d.addCallback(self.stopreactor)
d.addErrback(self.errorhappened)
def listresult(self, data):
print "%-35s %-5s %-37s" % ('Mailbox Name', 'Delim', 'Mailbox Flags')
print '-' * 35, '-' * 5, '-' * 37
for box in data:
flags, delim, name = box
print "%-35s %-5s %-37s" % (name, delim, ','.join(flags))
cacaegg@cacabook:~/workspace/NetworkProgram/src/IMAP$ tlist.py mx.mgt.ncu.edu.tw cacaegg
Enter password:
Mailbox Name Delim Mailbox Flags
----------------------------------- ----- -------------------------------------
virus-mail / \NoInferiors,\UnMarked
spam-mail / \NoInferiors,\UnMarked
mail-trash / \NoInferiors,\UnMarked
Sent Items / \NoInferiors,\UnMarked
Deleted Items / \NoInferiors,\UnMarked
Junk E-mail / \NoInferiors,\UnMarked
Drafts~ / \NoInferiors,\UnMarked
sent-mail-feb-2008 / \NoInferiors,\UnMarked
INBOX / \NoInferiors,\UnMarked
class IMAPLogic:
def __init__(self, proto):
self.proto = proto
self.factory = proto.factory
self.logintries = 1
d = self.login()
d.addCallback(self.loggedin)
d.addErrback(self.loginerror)
d.addCallback(self.logout)
d.addCallback(self.stopreactor)
d.addErrback(self.errorhappen)
print "IMAPLogic.__init__returning."
def loginerror(self, failure):
print "Your loging failed (attemp %d times)." % self.logintries
if self.logintries >= 3:
print "You have tried to log in three times; I'm giving up."
return failure
self.logintries += 1
sys.stdout.write("username:")
self.factory.username = sys.stdin.readline().strip()
self.factory.password = getpass.getpass("password:")
d = self.login()
d.addErrback(self.loginerror)
return d
def errorhappen(self, failure):
print "An error occurred:", failure.getErrorMessage()
print "Because of the error, I am logging out and stopping reactor..."
d = self.logout()
d.addBoth(self.stopreactor)
return failure
cacaegg@cacabook:~/workspace/NetworkProgram/src/IMAP$ t-error.py mx.mgt.ncu.edu.tw cacaegg
Enter password for cacaegg on mx.mgt.ncu.edu.tw:
I have successfully connected to the server!
Logging in...
IMAPLogic.__init__returning.
connectionMade returning
I'm logged in!
Logging out.
Stopping reactor.
cacaegg@cacabook:~/workspace/NetworkProgram/src/IMAP$ t-error.py mx.mgt.ncu.edu.tw cacaegg
Enter password for cacaegg on mx.mgt.ncu.edu.tw:
I have successfully connected to the server!
Logging in...
IMAPLogic.__init__returning.
connectionMade returning
Your loging failed (attemp 1 times).
username:ewfwfewf
password:
Logging in...
Your loging failed (attemp 2 times).
username:efwfew
password:
Logging in...
Your loging failed (attemp 3 times).
You have tried to log in three times; I'm giving up.
An error occurred: Authentication failed.
Because of the error, I am logging out and stopping reactor...
Logging out.
Unhandled error in Deferred:
Traceback (most recent call last):
Failure: twisted.mail.imap4.IMAP4Exception: Authentication failed.
Stopping reactor.
class IMAPClient(IMAP4Client):
def connectionMade(self):
print "I have successfully connected to the server!"
IMAPLogic(self)
print "connectionMake returning"
class IMAPFactory(protocol.ClientFactory):
protocol = IMAPClient
def __init__(self, username, password):
self.username = username
self.password = password
def clientConnectionFailed(self, connector, reason):
print "Client connection failed:", reason
reactor.stop()
class IMAPLogic:
def __init__(self, proto):
self.proto = proto
self.factory = proto.factory
d = self.proto.login(self.factory.username, self.factory.password)
d.addCallback(self.loggedin)
d.addCallback(self.stopreactor)
print "IMAPLogic.__init__returning."
def loggedin(self, data):
print "I'm logged in!"
return self.logout()
def logout(self):
print "Logging out."
d = self.proto.logout()
return d
def stopreactor(self, data = None):
print "Stopping reactor."
reactor.stop()
cacaegg@cacabook:~/workspace/NetworkProgram/src/IMAP$ tlogin.py mx.mgt.ncu.edu.tw cacaegg
Enter password for cacaegg on mx.mgt.ncu.edu.tw
I have successfully connected to the server!
IMAPLogic.__init__returning.
connectionMake returning
I'm logged in!
Logging out.
Stopping reactor.
#!/usr/bin/env python
from twisted.internet import defer, reactor, protocol
from twisted.mail.imap4 import IMAP4Client
import sys
class IMAPClient(IMAP4Client):
def connectionMade(self):
print "I have successfully connected to the server!"
d = self.getCapabilities()
d.addCallback(self.gotcapabilities)
def gotcapabilities(self, caps):
if caps == None:
print "Server did not return a capability list."
else:
for key, value in caps.items():
print "%s: %s" % (key, str(value))
self.logout()
reactor.stop()
class IMAPFactory(protocol.ClientFactory):
protocol = IMAPClient
def clientConnectionFailed(self, connector, reason):
print "Client connection failed:", reason
reactor.stop()
reactor.connectTCP(sys.argv[1], 143, IMAPFactory())
reactor.run()
cacaegg@cacabook:~/workspace/NetworkProgram/src/IMAP$ sudo ./tconn.py mx.mgt.ncu.edu.tw
I have successfully connected to the server!
SASL-IR: None
SORT: None
THREAD: ['REFERENCES']
STARTTLS: None
UNSELECT: None
NAMESPACE: None
IDLE: None
AUTH: ['PLAIN']
IMAP4rev1: None
LOGIN-REFERRALS: None
MULTIAPPEND: None
LITERAL+: None
CHILDREN: None